Si vous utilisez l'API JavaMail fournie par Sun, vous pouvez télécharger la dernière version de cette API depuis la page de téléchargements de Sun.
JavaMail utilise des propriétés pour charger l'ensemble de la configuration dans le programme.
Vous devez indiquer :
# Le nom d'hôte ou l'adresse IP de votre serveur SMTP
mail.smtp.host=smtp.duke.java.sun.com
# Vous obtenez de nombreuses informations de débogage si
# : cette option est activée. Mettez cette ligne en commentaire pour la désactiver.
#, éteins-le.
mail.debug=true
# L'adresse e-mail du destinataire
ttapr2004.to=duke@duke.java.sun.com
# L'adresse e-mail de l'expéditeur
ttapr2004.from=duke@j2ee_fanclub.java.su…
Vous pouvez facilement vous connecter au serveur SMTP sans authentification. Cependant, il se peut que vous ne parveniez pas à envoyer d'e-mails depuis votre programme Java :
1. Il se peut que votre adresse IP soit bloquée par le pare-feu pour Accéder au serveur SMTP
2. Votre serveur SMTP bloque l'adresse de l'expéditeur, l'adresse de destination et peut-être votre adresse IP.
3. Votre serveur SMTP nécessite une authentification
Si votre serveur nécessite une authentification, j'ai trouvé cette information sur Internet.
————————————–…
classe publique SendMailUsingAuthentication {
private static final String SMTP_HOST_NAME = "myserver.smtphost.com";
private static final String SMTP_AUTH_USER = "monnomd'utilisateur";
private static final String SMTP_AUTH_PWD = "mypwd";
private static final String emailMsgTxt =
" Message de confirmation de commande en ligne. Veuillez également indiquer le numéro de suivi. " ;
private static final String emailSubjectTxt = "Objet de la confirmation de commande" ;
private static final String emailFromAddress = "sudhir@javacommerce.com";
// Ajouter la liste des adresses e-mail auxquelles l'e-mail doit être envoyé
private static final String[] emailList = {
" mark@yahoo.com ", " robin@javacommerce.com ");
public static void main(String args[]) throws Exception {
SendMailUsingAuthentication smtpMailSender = new
SendMailUsingAuthentication();
smtpMailSender.postMail(liste_d'adresses, objet_du_mail, corps_du_mail,
emailFromAddress) ;
System.out.println("L'e-mail a été envoyé avec succès à tous les utilisateurs");
}
public void postMail(String recipients[], String subject,
String message, String from) throws MessagingException {
boolean debug = false ;
//Définir l'adresse SMTP de l'hôte
Properties props = new Properties();
props.put("mail.smtp.host", SMTP_HOST_NAME);
props.put("mail.smtp.auth", "true") ;
Authenticator auth = new SMTPAuthenticator();
Session session = Session.getDefaultInstance(props, auth);
session.setDebug(debug);
// créer un message
Message msg = nouveau MimeMessage(session) ;
// définir les adresses d'expéditeur et de destinataire
InternetAddress addressFrom = new InternetAddress(from);
msg.setFrom(addressFrom) ;
InternetAddress[] adresseDest = new InternetAddress[nombreDeDestinataires];
for (int i = 0; i < recipients.length; i++) {
addressTo[i] = new InternetAddress(recipients[i]);
}
msg.setRecipients(Message.RecipientType…. addressTo);
// Définition de l'objet et du type de contenu
msg.setSubject(subject) ;
msg.setContent(message, "text/plain");
Transport.send(msg) ;
}
/**
* SimpleAuthenticator sert à effectuer une authentification simple
* lorsque le serveur SMTP l'exige.
*/
classe privée SMTPAuthenticator
étend javax.mail.Authenticator {
public PasswordAuthentication getPasswordAuthentication() {
String nom_utilisateur = SMTP_AUTH_USER ;
String mot_de_passe = SMTP_AUTH_PWD ;
return new PasswordAuthentication(username, password) ;
}
}
}
————————————–…
Clause de non-responsabilité - Les opinions exprimées dans cet article sont fournies par un tiers et peuvent ne pas correspondre à celles de notre site web.
