CIao a tutti
sto provando in tutti i modi ad inviare una mail tramite la mia aplicazione java, ma mi da il seguente errore:
ecco la classecodice:com.sun.mail.util.MailConnectException: Couldn't connect to host, port: localhost, 25; timeout -1; nested exception is: java.net.ConnectException: Connection refused
codice:package com.qapro.service; import java.util.Date; import java.util.Properties; import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; /** * A utility class for sending e-mail messages * @author www.codejava.net * */ public class Email { public static void sendEmail(String host, String port, final String userName, final String password, String toAddress, String subject, String message) throws AddressException, MessagingException { // sets SMTP server properties Properties properties = new Properties(); properties.put("smtp.gmail.com", "mail.smtp.host"); properties.put("587", "mail.smtp.port"); properties.put("mail.smtp.auth", "true"); properties.put("mail.smtp.starttls.enable", "true"); // creates a new session with an authenticator Authenticator auth = new Authenticator() { public PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(userName, password); } }; Session session = Session.getInstance(properties, auth); // creates a new e-mail message Message msg = new MimeMessage(session); msg.setFrom(new InternetAddress(userName)); InternetAddress[] toAddresses = { new InternetAddress(toAddress) }; msg.setRecipients(Message.RecipientType.TO, toAddresses); msg.setSubject(subject); msg.setSentDate(new Date()); msg.setText(message); // sends the e-mail Transport.send(msg); } }
ecco il servlet
ed ecco i parametri che ho inserito nel .xmlcodice:package com.qapro.servlets; import java.io.IOException; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.qapro.service.Email; /** * A servlet that takes message details from user and send it as a new e-mail * through an SMTP server. * * @author www.codejava.net * */ public class EmailSendingServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public EmailSendingServlet() { super(); // TODO Auto-generated constructor stub } private String host; private String port; private String user; private String pass; public void init() { // reads SMTP server setting from web.xml file ServletContext context = getServletContext(); host = context.getInitParameter("host"); port = context.getInitParameter("port"); user = context.getInitParameter("user"); pass = context.getInitParameter("pass"); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // reads form fields String recipient = request.getParameter("recipient"); String subject = request.getParameter("subject"); String content = request.getParameter("content"); String resultMessage = ""; try { Email.sendEmail(host, port, user, pass, recipient, subject, content); resultMessage = "The e-mail was sent successfully"; } catch (Exception ex) { ex.printStackTrace(); resultMessage = "There were an error: " + ex.getMessage(); } finally { request.setAttribute("Message", resultMessage); getServletContext().getRequestDispatcher("/Result.jsp").forward( request, response); } } }
codice:<!-- SMTP settings --> <context-param> <param-name>host</param-name> <param-value>smtp.gmail.com</param-value> </context-param> <context-param> <param-name>port</param-name> <param-value>587</param-value> </context-param> <context-param> <param-name>user</param-name> <param-value>deepsession1@gmail.com</param-value> </context-param> <context-param> <param-name>pass</param-name> <param-value>d33ps3ss1on</param-value> </context-param>

Rispondi quotando
