Visualizzazione dei risultati da 1 a 1 su 1
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    25

    [jsp] connettere gmail a servlet

    CIao a tutti
    sto provando in tutti i modi ad inviare una mail tramite la mia aplicazione java, ma mi da il seguente errore:
    codice:
    com.sun.mail.util.MailConnectException: Couldn't connect to host, port: localhost, 25; timeout -1;  nested exception is:
    java.net.ConnectException: Connection refused
    ecco la classe


    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


    codice:
    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);
            }
        }
    }
    ed ecco i parametri che ho inserito nel .xml

    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>
    Ultima modifica di MItaly; 25-01-2015 a 04:02 Motivo: Corretti tag [CODE], spostato thread nella sezione corretta

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.