[JavaMail]Probleme avec API JavaMail
J'ai un souci avec l'utilisation de JavaMail, voici ce que je fas :
Code:
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
|
String emailfrom = "admin@nss.fr";
String emailto = "spyke.77@free.fr";
String host = "mail.nss.fr";
//Récupére les propriétés du systéme
Properties props = System.getProperties();
//Spécification du serveur mail
props.put("mail.smtp.host",host);
//Récupère la session
Session sessionMail = Session.getDefaultInstance(props, null);
//Définition du message
MimeMessage message = new MimeMessage(sessionMail);
//Spécification de l'expéditeur
try{
message.setFrom(new InternetAddress(emailfrom));
//Spécification du destinataire
message.addRecipient(Message.RecipientType.TO, new InternetAddress(emailto));
//Sujet du message
message.setSubject("Test API JavaMail");
//Texte du message
message.setText("Yeah!!");
//Envoie le message
sessionMail.setDebug(true);
//Transport.send(message);
message.saveChanges(); // implicit with send()
Transport transport = sessionMail.getTransport("smtp");
transport.connect(host,"cducrot","monMotDepass");
transport.sendMessage(message, message.getAllRecipients());
transport.close(); |
Donc voici ce que me renvoie le server mail :
Code:
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
|
EHLO SPK
250-mta-gw3.infomaniak.ch Hello 55-236-118-80.kaptech.net [80.118.236.55], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-AUTH LOGIN PLAIN
250-STARTTLS
250-DELIVERBY
250 HELP
DEBUG SMTP: Found extension "ENHANCEDSTATUSCODES", arg ""
DEBUG SMTP: Found extension "PIPELINING", arg ""
DEBUG SMTP: Found extension "8BITMIME", arg ""
DEBUG SMTP: Found extension "SIZE", arg ""
DEBUG SMTP: Found extension "DSN", arg ""
DEBUG SMTP: Found extension "AUTH", arg "LOGIN PLAIN"
DEBUG SMTP: Found extension "STARTTLS", arg ""
DEBUG SMTP: Found extension "DELIVERBY", arg ""
DEBUG SMTP: Found extension "HELP", arg ""
DEBUG SMTP: use8bit false
MAIL FROM:<admin@nss.fr>
250 2.1.0 <admin@nss.fr>... Sender ok
RCPT TO:<spyke.77@free.fr>
550 5.7.1 <spyke.77@free.fr>... Relaying denied. Proper authentication required.
DEBUG SMTP: Invalid Addresses
DEBUG SMTP: spyke.77@free.fr
DEBUG SMTP: Sending failed because of invalid destination addresses
RSET
250 2.0.0 Reset state
javax.mail.SendFailedException: Invalid Addresses;
nested exception is:
class com.sun.mail.smtp.SMTPAddressFailedException: 550 5.7.1 <spyke.77@free.fr>... Relaying denied. Proper authentication required. |
En gros il ne résoud pas l'adresse de destination, alors quelle existe bien.
Si je m'envoie un mail sur cducrot@nss.fr ca marche (adresse locale)
[Modéré par Didier] : ajout de tag dans le titre - Les règles du forum Java
[JavaMail]Probleme avec API JavaMail
Bonjour,
Je pense que ton pb provient de la configuration de la session mail. En effet, il semble que ton serveur est besoin d'une authent pour envoyer des mails à l'extérieur (hors domaine).
Essaye de fixer la property mail.smtp.auth à true (comme pour mail.smtp.host).
Pour plus d'info voir http://java.sun.com/products/javamai...e-summary.html
Cordialement
Re: [JavaMail]Probleme avec API JavaMail
Citation:
Envoyé par willy78
Bonjour,
Je pense que ton pb provient de la configuration de la session mail. En effet, il semble que ton serveur est besoin d'une authent pour envoyer des mails à l'extérieur (hors domaine).
Essaye de fixer la property mail.smtp.auth à true (comme pour mail.smtp.host).
Pour plus d'info voir
http://java.sun.com/products/javamai...e-summary.html
Cordialement
OK je vais essayer de mettre la propriété Authentification à "true", je te tiens au courant. Merci
Re: [JavaMail]Probleme avec API JavaMail
Citation:
Envoyé par willy78
Bonjour,
Je pense que ton pb provient de la configuration de la session mail. En effet, il semble que ton serveur est besoin d'une authent pour envoyer des mails à l'extérieur (hors domaine).
Essaye de fixer la property mail.smtp.auth à true (comme pour mail.smtp.host).
Pour plus d'info voir
http://java.sun.com/products/javamai...e-summary.html
Cordialement
Ok avec mail.smtp.auth à true ca marche, Merci mec.
Voici le code finale qui fonctionne pour les futurs utilisateurs de l'API JavaMail :
Code:
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
|
String emailfrom = "support@nss.fr";
String emailto = "spyke.77@free.fr";
String host = "mail.nss.fr";
//Récupére les propriétés du systéme
Properties props = System.getProperties();
//Spécification du serveur mail
props.put("mail.smtp.host",host);
props.put("mail.smtp.auth","true");
//Récupère la session
Session sessionMail = Session.getInstance(props,null);
//Définition du message
MimeMessage message = new MimeMessage(sessionMail);
//Afficher Mode Debug
sessionMail.setDebug(true);
try{
message.setFrom(new InternetAddress(emailfrom));
//Spécification du destinataire
message.addRecipient(Message.RecipientType.TO, new InternetAddress(emailto));
//Sujet du message
message.setSubject("Test API JavaMail");
//Texte du message
message.setText("Yeah!!");
//Envoie le message avec un smtp authentifié
message.saveChanges(); // implicit with send()
Transport transport = sessionMail.getTransport("smtp");
transport.connect(host,"cducrot@nss.fr","password");
transport.sendMessage(message, message.getAllRecipients());
transport.close();
}catch(Exception e){
System.out.print("error");
} |