could not connect to smtp host: connection timeout error
can someone please check if I have rigth settings? Where I am wrong here
Is IP and mail host setting ok or not?
Contactus.jsp
Expand|Select|Wrap|Line Numbers
- <!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN//">
- <html>
- <head>
- <title>Layout template</title>
- </head>
- <link href="virsar.css" rel="stylesheet" type="text/css" />
- <body>
- <!------------------------------------------------------------------------------------------------------------------------------->
- <table cellspacing=0 cellpadding=0>
- <td>------------------------------------------------------------------------------This is dedicated for the Header---------------------------------------------</td>
- </table>
- <!------------------------------------------------------------------------------------------------------------------------------->
- <table cellspacing=0 cellpadding=0 width=800><!---->
- <td width=170>
- Email: <br>
- Phone: (604)270-7050 <br>
- Toll free: 1-877-DesiORB <br>
- Fax: (604)270-7062 <br>
- <br>
- <br>
- <br>
- Hours of operation: <br>
- M-F 9:00-5:00 PST
- </td>
- <!-----------------------------------------contents ----------------->
- <td>
- <br><br><br>
- <h3 align="center">Send us an Email!</h3>
- <table>
- <form method="get" action="/virsar/servlet/email.SendMailServlet">
- <tr>
- <td>Name : </td><td><input type = "text" name="name" size = 55 MAXLENGTH=50></td>
- </tr>
- <tr>
- <td>Email Address : </td><td><input type = "text" name="emailaddress" size = 55 MAXLENGTH=50></td>
- </tr>
- <tr>
- <td>Subject : </td><td><input type = "text" name="subject" size = 55 MAXLENGTH=50></td>
- </tr>
- <tr>
- <td>Message / Enquiry : </td><td><textarea rows="10" name="message" cols="50"></textarea></td>
- </tr>
- <tr>
- <td colspan = 2>
- <p align="right"><input type="submit" value="Email" ><input type="submit" value="Reset" >
- </td>
- </tr>
- <tr>
- <td>
- <%
- String msg= (String) session.getAttribute("msg");
- if (msg==null)
- {msg="";}
- %>
- <h3 align="center"><%= msg %></h3>
- </td>
- </tr>
- </form>
- </td>
- </table>
- <!------------------------------------------------------------------------------------------------------------------------------->
- <table cellspacing=0 cellpadding=0>
- <br><br><br><br>
- <td>---------------------------------------------------------------Footer Goes Here----------------------------------------------------------------------</td>
- </table>
- <!------------------------------------------------------------------------------------------------------------------------------->
- </html>
Expand|Select|Wrap|Line Numbers
- package email;
- import java.io.*;
- import javax.servlet.*;
- import javax.servlet.http.*;
- import javax.mail.*;
- import util.MailUtil;
- //import business.User;
- public class SendMailServlet extends HttpServlet{
- public void doGet(HttpServletRequest request,
- HttpServletResponse response)
- throws IOException, ServletException{
- HttpSession session = request.getSession();
- String to = "farhana.asif@virsarmedia.com";
- String from = "";
- String subject = "";
- String message = "";
- String msg="";
- from="virsarmail@gmail.com";
- // from = request.getParameter("emailaddress");
- subject = request.getParameter("emailaddress") + " - " + request.getParameter("name") + ": " + request.getParameter("subject");
- message = request.getParameter("message");
- //if user does not have an email address, then use the GCABC's email address as the from address
- if (from.equals(""))
- {
- from = to;
- }
- try{
- MailUtil mail = new MailUtil(to, from, subject, message);
- mail.sendMail();
- msg = "Email sent! successfully";
- }
- catch (MessagingException me){
- log("MessagingException: " + from);
- msg = "Email not sent!";
- log(me.toString());
- }
- session.setAttribute("msg", msg);
- RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/Contactus.jsp");
- dispatcher.forward(request, response);
- }
- public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{
- doGet(request, response);
- }
- }
Expand|Select|Wrap|Line Numbers
- package util;
- import javax.mail.*;
- import javax.mail.internet.*;
- import java.util.Properties;
- import java.io.*;
- import java.util.*;
- public class MailUtil{
- private String sender,recipient1,mailHost,mailPort,mailProtocol,mailUser,mailPassword,mailContent,mailSubject;
- Authenticator auth;
- public MailUtil(String recipient, String sender,
- String mailSubject , String mailContent) {
- this.sender = sender;
- recipient1 = recipient;
- mailHost = "209.85.171.83";
- mailPort = "465";
- mailProtocol = "smtp";
- mailUser = "virsarmail@gmail.com";
- mailPassword = "virsarmedia";
- this.mailSubject = mailSubject;
- this.mailContent = mailContent;
- auth = new MyAuthenticator();
- }
- public void sendMail() throws MessagingException{
- try {
- Properties props = new Properties();
- props.setProperty("mail.transport.protocol", mailProtocol);
- props.put("mail.transport.protocol", mailProtocol);
- props.put("mail.smtp.host", mailHost);
- props.put("mail.smtp.port", mailPort);
- props.put("mail.smtp.user", mailUser);
- props.put("mail.smtp.password", mailPassword);
- props.put( "mail.smtp.auth", "true" );
- Session mailSession = Session.getInstance(props, auth);
- mailSession.setDebug(true);
- Transport transport = mailSession.getTransport();
- MimeMessage message = new MimeMessage(mailSession);
- message.setContent(mailContent, "text/plain");
- message.setSubject(mailSubject);
- message.setSender(new InternetAddress(sender));
- message.setFrom(new InternetAddress(sender));
- message.addRecipient(Message.RecipientType.TO, new
- InternetAddress(recipient1));
- transport.connect();
- transport.sendMessage(message,message.getRecipients(Message.RecipientType.TO));
- transport.close();
- }
- catch(Exception ex) {
- System.out.println(ex.toString());
- }
- }
- class MyAuthenticator extends Authenticator {
- protected PasswordAuthentication getPasswordAuthentication() {
- return new PasswordAuthentication(mailUser, mailPassword);
- }
- }
- }