javax.mail.MessagingException: 530 5.7.57 SMTP; le Client n'est pas authentifié pour envoyer des messages anonymes au cours de COURRIER à PARTIR de
J'ai un programme en java(Copié à partir de google) pour envoyer des e-mails à l'aide de office365 SMTP, il fonctionne très bien comme un programme java mais quand je le déploiement de ce programme java sous la forme de fichier jar dans web-inf/lib de l'application web et l'appel de la méthode de jsp c'est jeter de l'erreur ci-dessous:
javax.mail.SendFailedException: l'Envoi a échoué;
nested exception est la suivante:
javax.mail.MessagingException: 530 5.7.57 SMTP; le Client n'est pas authentifié pour envoyer des messages anonymes au cours de MAIL DE
Quelqu'un peut s'il vous plaît partager leurs points de vue sur cette question.
Le code java :
import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import org.apache.log4j.Logger;
public class SendEmailUsingSMTP {
public static boolean sendEmail(String toAddress, String fromAddress, String userName, String userPassword,String smtpHost, String portNumber, String emailSubject,String emailBody) {
//Recipient's email ID needs to be mentioned.
Logger log = Logger.getLogger(SendEmailUsingSMTP.class);
log.info("toAddress : "+toAddress);
log.info("fromAddress : "+fromAddress);
log.info("userName : "+userName);
log.info("userPassword : "+userPassword);
log.info("smtpHost : "+smtpHost);
log.info("portNumber : "+portNumber);
log.info("emailSubject : "+emailSubject);
log.info("emailBody : "+emailBody);
String to = toAddress;
//Sender's email ID needs to be mentioned
String from = fromAddress;//change accordingly
final String username = userName;//change accordingly
final String password = userPassword;//change accordingly
//Assuming you are sending email through relay.jangosmtp.net
String host = smtpHost;
Properties props = new Properties();
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.socketFactory.fallback", "false");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.socketFactory.port", portNumber);
props.put("mail.smtp.host", host);
props.put("mail.smtp.port", portNumber);
//Get the Session object.
SMTPAuthenticator authenticator = new SMTPAuthenticator(username, password);
props.put("mail.smtp.submitter", authenticator.getPasswordAuthentication().getUserName());
Session session = Session.getInstance(props, authenticator);
try {
//Create a default MimeMessage object.
Message message = new MimeMessage(session);
//Set From: header field of the header.
message.setFrom(new InternetAddress(from));
//Set To: header field of the header.
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(to));
//Set Subject: header field
message.setSubject(emailSubject);
//Now set the actual message
message.setText(emailBody);
//Send message
Transport.send(message);
System.out.println("Sent message successfully....");
} catch (MessagingException e) {
throw new RuntimeException(e);
}
return true;
}
}
Le smtpHost,portNumber je suis l'aide de la Chaîne smtpHost = "smtp.office365.com"; String portNumber = "587";
Je suis confronté exactement les mêmes isuse...
Je suis confronté exactement les mêmes isuse...
OriginalL'auteur Jay | 2015-06-19
Vous devez vous connecter pour publier un commentaire.
Vous pouvez essayer avec la configuration suivante, comme cela fonctionne pour moi:
Aussi, j'ai utilisé de l'hôte:
Espère que cela vous aide à vous ou quelqu'un d'autre.
OriginalL'auteur Alex Vargas
Réglage de la
smtp.starttls.enable
àtrue
et l'arméesmtp.office365.com
résolu le même problème pour moi.Je l'ai testé avec votre code en utilisant uniquement ces 3 propriétés:
l'hôte:
smtp.office365.com
et j'ai pu envoyé les e-mails à partir de mon compte.L'ensemble de la fonction:
et l'authentificateur
OriginalL'auteur Zielu
Veuillez définir le ci-dessous
X-Mailer comme message.setHeader("X-Mailer", "Votre nom de l'application");
OriginalL'auteur Nethaji Narasimalu
Donc, si quelqu'un ayant des problèmes comme :---
"javax.mail.MessagingException: 530 5.7.57 SMTP; le Client n'est pas authentifié pour envoyer des messages anonymes au cours de MAIL DE"
lors de l'utilisation sur le système d'exploitation Linux puis,il suffit d'effectuer les étapes ci-dessous:-
Modifier vos paramètres par défaut pour jenkins fichier à l'aide de sudo parce que c'est fichier en lecture seule.
sudo vim /etc/default/jenkins
et ajoutez ces deux lignes:--
JAVA_ARGS="-Xmx2048m -XX:MaxPermSize=512m -Djava.awt.headless=true"
JAVA_ARGS="-Djava.awt.headless=true -Dmail.smtp.starttls.enable=true"
Après l'édition/ajoutez le fichier , redémarrez Jenkins.
commande:- sudo /etc/init.d/Jenkins redémarrer
Maintenant tester votre configuration , j'Espère que vous aurez le Courriel a été envoyé avec succès
OriginalL'auteur uttam