J'essaie d'envoyer email
en utilisant java
. Mais je fais face à l'erreur comme ci-dessousErreur lors de l'envoi de courrier dans java/servlet
javax.mail.AuthenticationFailedException: échec de connexion, aucun mot de passe spécifié
Pourquoi ai-je cette erreur quand je suis passé le bon email-id et mot de passe pour l'authentification ?
C'est mon code
import java.io.IOException;
import java.net.PasswordAuthentication;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class TestMail
*/
@WebServlet("/TestMail")
public class TestMail extends HttpServlet {
private static final long serialVersionUID = 1L;
public TestMail() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
todo(request,response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
todo(request,response);
}
private void todo(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("utf8");
response.setCharacterEncoding("utf8");
Properties props = new Properties();
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable","true");
props.put("mail.smtp.host","smtp.gmail.com");
props.put("mail.smtp.post","587");
Session session = Session.getDefaultInstance(props,
new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(
"[email protected]", "testing123");
}
});
Message message=new MimeMessage(session);
try {
message.setFrom(new InternetAddress("[email protected]","hello"));
message.setRecipients(Message.RecipientType.TO,InternetAddress.parse("[email protected]"));
message.setSubject("Testing Email");
message.setText("hello this is testing mail \n \n Congrets");
Transport.send(message);
System.out.println("Mail Sent Successfully");
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
C'est une erreur courante, comme décrit dans la [FAQ de JavaMail] (https://javaee.github.io/javamail/FAQ#commonmistakes). –
okk c'est du travail maintenant merci @Bill Shannon –