Salve a tutti. Ho scritto questa servlet, ma il problema è che l'e-mail arriva 2 volte! Perchè?
Ma l'host smtp deve essere sempre quello del mio provider? Perchè provando con mail.tin.it non va... e se invece di eseguire questa servlet in locale la eseguissi su un server, che host dovrei specificare? Non esiste un metodo di invio e-mail senza l'uso dell'smtp? Come ad esempio la funzione mail() del PHP...codice:package servlets; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Properties; import java.util.Date; import javax.mail.Transport; import javax.mail.Session; import javax.mail.Message; import javax.mail.Address; import javax.mail.internet.MimeMessage; import javax.mail.internet.InternetAddress; public class TestMailer extends HttpServlet { private String smtp = "mail.libero.it"; private String mitt = "test@dieffeweb.com"; private String dest = "thelizard.king@hotmail.it"; protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head>"); out.println("<title>Servlet TestMail</title>"); out.println("</head>"); out.println("<body>"); try { Properties props = System.getProperties(); props.put ("mail.smtp.host", smtp); Session session = Session.getDefaultInstance (props); Message message = new MimeMessage (session); message.setFrom (new InternetAddress (mitt)); message.setRecipient (Message.RecipientType.TO, new InternetAddress (dest)); message.setSubject ("E-mail test"); message.setSentDate (new Date()); message.setText ("Questa è una e-mail di prova"); Transport.send (message); out.println ("E-mail inviata"); } catch (Exception exception) { out.println ("E-mail NON inviata"); } out.println("</body>"); out.println("</html>"); out.close(); } protected void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest (request, response); } protected void doPost (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest (request, response); } }

Rispondi quotando