Envoie de mails

Soyez le premier à donner votre avis sur cette source.

Snippet vu 19 766 fois - Téléchargée 28 fois

Contenu du snippet

c'est un Bean qui permet a travers une appli d'envoyer un mail, avec les differents elements telque adresse emetteur, le message le sujet predefini ....

Source / Exemple :


import java.util.*;
import java.text.*;
//import javax.ejb.*;
import javax.mail.*;
//import javax.activation.*;
import javax.mail.internet.*;
import javax.naming.*;

public class MailerBean {

  private static final String mailer = "JavaMailer";

  // bean attributes
  private String _mailSessionName = "";
  private String _text ="Default message.\nIf you see this message, please contact web applications administrator.";
  private String _subject="Default subject";
  private String _recipient="";
  private String _from="";

  // Constructor
  public MailerBean() {}

  // Setters
  public void setText(String theText) { _text=theText;  }
  public void setSubject(String theSubject) { _subject=theSubject;  }
  public void setRecipient(String theRecipient) { _recipient=theRecipient;  }
  public void setFrom(String theFrom) { _from=theFrom; }
  public void setMailSessionName(String newMailSessionName) {    _mailSessionName = newMailSessionName;  }

  // Getters
  public String getText() { return _text;  }
  public String getSubject() { return _subject;  }
  public String getRecipient() { return _recipient;  }
  public String getFrom() {return _from; }
  public String getMailSessionName() {    return _mailSessionName;  }

  // Methods
  public boolean sendMessage() {

      try {
          Context initial = new InitialContext();
          Session session = (Session) initial.lookup(_mailSessionName);

          DateFormat dateFormatter = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.SHORT);
          Date timeStamp = new Date();

          Message msg = new MimeMessage(session);
          
          // recuperation des informations a envoyer
          msg.setFrom(new InternetAddress(this.getFrom()));
          msg.setHeader("X-Mailer", mailer);
          msg.setSentDate(timeStamp);
          msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(this.getRecipient() , false));
          msg.setSubject(this.getSubject());

          msg.setText(this.getText() );
 	 // envoie du mail         
          Transport.send(msg);

          System.out.println("Mail sent");
          return true;
      } catch(Exception e) {
          System.out.println("Exception occured in mailer bean : " + e.getMessage() );
          return false;
      }
  }

}

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1
Date d'inscription
vendredi 26 décembre 2008
Statut
Membre
Dernière intervention
26 mars 2010

merçi pour ce code mais la question qui se pose est ce qu'on peut seulement inérer ce code dans eclips et on obtiendra la possibilité d'envoyer un mail.
chui une debutante en java et j'ai un proj à faire mais je sais pas comment vraiment
vous pouvez m'aider??
Messages postés
96
Date d'inscription
samedi 12 mars 2005
Statut
Membre
Dernière intervention
24 octobre 2007

Salut à tous,

Cette classe d'envoie de mail m'intéresse beaucoup mais en voulant la tester, j'ai un plantage sur la ligne
"Session session = (Session) initial.lookup(_mailSessionName);"

Je ne sais pas ce qu'il faudrait mettre dans la variable "_mailSessionName" ? ! Quelqu'un pourrait-il me donner un exemple d'utilisation ? Ou au moins une orientation.

Merci.
Messages postés
45
Date d'inscription
samedi 9 avril 2005
Statut
Membre
Dernière intervention
22 décembre 2005

salut,
j'ai déja le package mail.jar et je travail avec Jbuilder 2005,mais le probléme est que je n'ai pas arriver à l'installer..
alors si tu pourra m'aider et merci d'avance
Messages postés
1
Date d'inscription
lundi 26 avril 2004
Statut
Membre
Dernière intervention
26 avril 2004

j'ai voulu juste comprendre comment utiliser ce bean et un exemple de mailSessionName dans le cas d'un serveur smtp...merci
Messages postés
41
Date d'inscription
lundi 1 avril 2002
Statut
Membre
Dernière intervention
7 mars 2004

Juste une question aussi... Ton appli gère-t-elle les serveur SMTP où une authentification est obligatoire ? Je crois que ça s'appelle SMTP extended.
Sinon ce doit-être sympa un petit formulaire sur sa page... Je prendrai un peu de temps pour tester ;-)

Bonne continuation, Gaëlle
Afficher les 7 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (steveurcle)