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 :

[debutant] Envoyer un mail dans programme java.


Sujet :

API standards et tierces Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 13
    Points : 8
    Points
    8
    Par défaut [debutant] Envoyer un mail dans programme java.
    Bonjour, j'ai une base de donnée oracle qui contient des noms ,leurs mots de passe et leur emails correspondant. Dans mon programme j'aimerai mettre au point une fonction qu'on trouve sur tout les forums. C'est que lorsque un individu a par exemple oublié son mot de passe, qu'il ait la possibilité de le recevoir automatiquement par mail , en rentrant uniquement son nom. Donc en gros le programme doit à partir du nom entré par l'utilisateur , aller dans la base de données et renvoyer à ce dernier par mail son mot de passe.

    Esce la bonne solution ou y a t'il un moyen plus simple. Je rappele que je suis débutant. Merci de votre aide.

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 856
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 856
    Points : 34 380
    Points
    34 380
    Par défaut
    Ca devrait quand même être plus simple avec JavaMail je trouve.

  3. #3
    Membre chevronné
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Points : 2 197
    Points
    2 197
    Par défaut
    Bonjour, ce n'est pas forcément plus compliqué avec java mail :
    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
     
    static public void sendEmail(String emailAdress, String emailSubject,
            String emailContent){
            Properties props = new Properties();
            props.put("mail.smtp.host", "localhost");
     
            Session session = Session.getDefaultInstance(props, null);
     
            MimeMessage msg = new MimeMessage(session);
     
            try {
                // create a message
     
                msg.setFrom("titi@toto.fr");
                InternetAddress[] address = InternetAddress.parse(emailAdress, true);
                System.out.println("The email is gonna be sent to the following address:");
                for (int i = 0; i < address.length; i++) {
                    System.out.println("\t" + address[i].toString());
                }
                msg.setRecipients(Message.RecipientType.TO, address);
                msg.setSubject(emailSubject);
     
                // create the Multipart and its parts to it (cover and documents)
                Multipart mp = new MimeMultipart();
     
                MimeBodyPart mbpord = new MimeBodyPart();
     
                mbpord.setText(emailContent);
     
                mp.addBodyPart(mbpord);
     
                // add the Multipart to the message
                msg.setContent(mp);
     
                // set the Date: header
                msg.setSentDate(new Date());
     
                // send the message
                Transport.send(msg);
            }
            catch (MessagingException mex) {
                System.out.println("Exception detected");
                mex.printStackTrace();
                Exception ex = null;
                if ((ex = mex.getNextException()) != null) {
                    ex.printStackTrace();
                }
            }
        }

  4. #4
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Ricky81 Voir le message
    Ca devrait quand même être plus simple avec JavaMail je trouve.
    Plus simple, plus complet et surtout plus robuste : ce code ne possède une très mauvaise gestion des flux :
    • Les références des flux sont stocké en static
    • Il n'y a pas de try/finally pour la fermeture des flux


    Bref si tu fait tourner ce code sur une application serveur et que tu rencontres quelques problèmes réseaux tu risque de surcharger le nombre de socket ouverte pour rien


    Bref JavaMail est vraiment une meilleure solution... Le code que tu indiques me fait plus penser à du bricolage

    Et si tu trouve JavaMail un peu trop "compliqué" rien ne t'empêche d'utiliser la surcouche Commons Email dont la simplicité est exemplaire sans pour autant limité les possibilités grace à de la vrai POO comme on le voit dans l'exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      SimpleEmail email = new SimpleEmail();
      email.setHostName("mail.myserver.com");
      email.addTo("jdoe@somewhere.org", "John Doe");
      email.setFrom("me@apache.org", "Me");
      email.setSubject("Test message");
      email.setMsg("This is a simple test of commons-email");
      email.send();
    a++

Discussions similaires

  1. envoyer sms via un programme java
    Par bidts dans le forum Général Java
    Réponses: 2
    Dernier message: 11/03/2009, 22h55
  2. Envoyer un mail dans une boucle WHILE
    Par tjoce dans le forum Langage
    Réponses: 6
    Dernier message: 19/12/2008, 12h21
  3. Utiliser fonctionnalité ImageJ dans programme Java
    Par diophantes dans le forum ImageJ
    Réponses: 2
    Dernier message: 16/09/2008, 11h40
  4. erreur dans programme java sur des vecteurs 3D
    Par HighSchool2005 dans le forum Langage
    Réponses: 18
    Dernier message: 15/02/2007, 16h38
  5. Attacher un fichier à un mail dans programme C++.
    Par Hamdi Hedhili dans le forum MFC
    Réponses: 5
    Dernier message: 24/11/2005, 16h21

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