J'ai essayé d'implémenter le code de servlet suivant pour implémenter le service de messagerie, mais je reçois constamment des erreurs avec ce code. pls un coup d'oeil ...mise en œuvre du service de messagerie dans mon code
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Properties;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.*;
import javax.servlet.RequestDispatcher;
public class email extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String to="[email protected]"; //emailID at which the mail is send
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
Session session=null;
try{
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.socketFactory.port", "465");
props.put("mail.smtp.socketFactory.class",
"javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", "465");
session = Session.getDefaultInstance(props,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("[email protected]","password");//change accordingly
}
});}
catch(Exception e)
{out.println("error234");}
try {
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress("[email protected]"));//change accordingly
message.addRecipient(Message.RecipientType.TO,new InternetAddress(to));
message.setSubject("Pls find the message inside");
String dd = "hey";
message.setText(dd);
//send message
Transport.send(message);
out.println("success");
}
catch(Exception e)
{out.println("error");}
finally {
out.close();
}
}
la sortie que je reçois est: i.e. d'erreur du dernier bloc catch pls donner quelques suggestions concernant ce dès que possible.
Pouvez-vous poster la Stacktrace? –
Pour commencer, au lieu de 'out.println (" erreur ");' pourquoi ne publiez-vous pas la pile-trace? – blank
@PeterRader la trace de la pile est la suivante: 'javax.mail.MessagingException: Impossible de se connecter à l'hôte SMTP: smtp.gmail.com, port: 465; l'exception imbriquée est: java.net.ConnectException: la connexion a expiré: connectez-vous à com.sun.mail.smtp.SMTPTransport.openServer (SMTPTransport.java:1972) sur com.sun.mail.smtp.SMTPTransport.protocolConnect (SMTPTransport.java : 642) à javax.mail.Service.connect (Service.java:317) à javax.mail.Service.connect (Service.java:176) ' – aman