Salut tout le monde,
C'est encore moi, j'ai toujours un problème avec mon envoi de mail, depuis ce temps ça dur. J'ai cherché sur le net et rien donc je reviens vers vous.
Voici mon nouveau code, j'envois un mail sur hotmail avec un une adresse mail de destination sur yahoo donc le SMTP est :smtp.mail.yahoo.fr port 995 il me semble.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
package monPaquet;
 
import java.io.*;
import java.net.Socket;
import java.util.Date;
import java.util.StringTokenizer;
 
public class MailIo {
        public MailIo() {
        }
        public static boolean sendMail(Socket sock, String localHost,
                        String Destinataire, String from, String subject, String message)
                        throws IOException {
                //connection a la socket passe par param
                out = new PrintWriter(sock.getOutputStream());
                in = new BufferedReader(new InputStreamReader(sock.getInputStream()));
                //on recoi la ligne qui nous dit que l'on est connecté
                receive();
                //on envoi la premiere ligne qui indique de qui elle provien
                send("HELO " + localHost);
                //on nous dit qu'elle a bien etait recu
                receive();
                //on envoi l'adresse de l'expediteur
                send("MAIL FROM: <" + from + ">");
                //on nous dit que ca c'est bien passe
                receive();
                //on envoi l'adresse du destinataire
                send("RCPT TO: <" + Destinataire + ">");
                //on recupere la reponse
                receive();
                //on passe au chose serieuse pour commencer l'envoi du corps
                send("DATA");
                //on verifie que le serveur soit pret
                receive();
                //on envoi plusieur balise utile
                send("Subject: " + subject);
                send("Date: " + new Date());
                send("Reply-To:" + from);
                send("To: " + Destinataire);
                //on envoi cahque ligne separement en utilisant \n comme delimitateur
                StringTokenizer tokenizer = new StringTokenizer(message, "\n");
                //la ligne ci dessous se traduit par : tant qu'il y a encore des ligne
                while (tokenizer.hasMoreTokens())
                        send(tokenizer.nextToken());
                //pour finir l'envoi d'un mail il faut envoi sur une ligne un seul point
                send(".");
                //on verifie que le mail a etait accepte
                receive();
                //on quitte
                send("QUIT");
                //on nous dit que ca a bien quitter
                receive();
                //on ferme les flux
                in.close();
                out.close();
                sock.close();
                return true;
        }
        //methode qui recoit les information du servveur
        private static void receive() throws IOException {
                String line = in.readLine();
                if (line != null) {
                        System.out.println(line);
                        System.out.println("\n");
                }
        }
        //methode qui envoi des infos au serveur
        private static void send(String s) {
                System.out.print(s);
                System.out.print("\r\n");
                System.out.flush();
                out.print(s);
                out.print("\r\n");
                out.flush();
        }
        private static BufferedReader in;
        private static PrintWriter out;
 
 
        public static void main(String args[]) throws Exception
        {
            Socket sock = new Socket("smtp.mail.yahoo.fr ",995);
            MailIo.sendMail(sock,"localhost","??????@hotmail.com","?????@yahoo.fr","Test","Salut si ça marche c'est cool");
 
        }
 
}
et je me prends une erreur:
java.net.UnknownHostException: smtp.mail.yahoo.fr
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:153)
at java.net.Socket.connect(Socket.java:452)
at java.net.Socket.connect(Socket.java:402)
at java.net.Socket.<init>(Socket.java:309)
at java.net.Socket.<init>(Socket.java:124)
at monPaquet.MailIo.main(MailIo.java:82)
Exception in thread "main"
Merci pour votre aide