When I test the application I get follwowing error:
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
SendMailServlet .java
MailUtil.java
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
Code:
<!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>
Code:
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);
}
}
Code:
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);
}
}
}
Comment