IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Java Discussion :

Problème d'envoi de mail smtp


Sujet :

API standards et tierces Java

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 109
    Par défaut Problème d'envoi de mail smtp
    bonjour a tous.
    je veux envoyer des mails automatiquement en utilisant SMTP:
    j'ai recuperer la classe suivante :

    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
     
    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("localhost",25);
     
      MailIo.sendMail(sock,"localhost","???????@gmail.com","?????@gmail.com","test","SUPER CA MARCHE");
     
            }
     
    }
    quant j'execute ma classe ce me retourne pas d'erreur en plus ca ne m envoi pas le mail.

    ca me reretourne ca:

    HELO localhost
    250 Hello localhost - Please to meet you


    MAIL FROM: <??????@gmail.com>
    250 Sender Ok


    RCPT TO: <??????@gmail.com>
    250 Accepted


    DATA
    354 Data end with .


    Subject: test
    Date: Fri May 23 15:52:56 CEST 2008
    Reply-To????@gmail.com
    To: ??????@gmail.com
    SUPER CA MARCHE
    .
    250 Data Ok


    QUIT
    221 Bye
    Process completed.

    PS: je précise que j'ai installer en locale le serveur smtp catapulte qui utilise le port 25.

    merci de votre aide

  2. #2
    Membre éclairé Avatar de Philcmoi
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 666
    Par défaut
    Je te conseil de lire ca, ca t'eclaira.
    http://www.supinfo-projects.com/fr/2004/javamail/

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 109
    Par défaut
    salut,
    merci pour ta réponse.
    il est intéressant le lien .mais moi je ne veux pas utiliser API javaMAIL.
    en ce qui me concerne j'ai pu déterminer d'où venais mon problème.
    dans la boite ou je suis . on est en réseau local et il interdisent l'utilisation du serveur smtp de leur fournisseur internet pour des raisons de sécurité.

    j'ai tester ce programme chez moi en utilisant le serveur smtp de free (smtp.free.fr) et la ça marche. est ce qu'il y a moyen de faire autrement et de contourner leur serveur smtp.

    j'ai vu sur le net qu'il fallais installer un serveur smtp local type catapulte et passer par ce serveur pour envoyer de mail. mais ca ne marche pas aussi.

    voila en espérant que quelqu'un a une idée sur le sujet.

    merci a vous.

Discussions similaires

  1. Problème d'envoie de mail par SMTP
    Par yass dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 12/09/2008, 16h45
  2. problème d'envoi de mail via SMTP
    Par nh2_93 dans le forum Réseau
    Réponses: 4
    Dernier message: 18/05/2007, 11h15
  3. SMTP problème d'envoi de Mail
    Par Ajite dans le forum Développement
    Réponses: 6
    Dernier message: 15/04/2007, 22h36
  4. petit trou de mémoire avec CDO.Configuration envoie de mail SMTP
    Par thierry007 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 12/09/2006, 21h39
  5. Problème avec envoi de mail et fichier joint
    Par LFC dans le forum Modules
    Réponses: 5
    Dernier message: 20/05/2006, 20h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo