可能重复:
javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 25;
我尝试通过jsp页面发送电子邮件,但它显示以下错误:
javax.mail.MessagingException
:无法连接到SMTP主机:www.gmail.com,端口:25,响应:421
这是我用来发送电子邮件的代码:
<%
try
{
String host = "www.gmail.com";
String to = request.getParameter("to");
String from = request.getParameter("from");
String subject = request.getParameter("subject");
String messageText = request.getParameter("body");
boolean sessionDebug = false;
Properties props = System.getProperties();
props.put("mail.host", host);
props.put("mail.transport.protocol", "smtp");
Session mailSession = Session.getDefaultInstance(props, null);
mailSession.setDebug(sessionDebug);
Message msg = new MimeMessage(mailSession);
msg.setFrom(new InternetAddress(from));
InternetAddress[] address = {new InternetAddress(to)};
msg.setRecipients(Message.RecipientType.TO, address);
msg.setSubject(subject);
msg.setSentDate(new Date());
msg.setText(messageText);
Transport.send(msg);
out.println("Mail was sent to " + to);
out.println(" from " + from);
out.println(" using host " + host + ".");
}
catch (MessagingException mex)
{
System.out.println("Error: unable to send message....");
mex.printStackTrace();
}
%>
有人能告诉我导致此错误的原因是什么吗?
答案 0 :(得分:0)
您需要指向gmail邮件服务器,而不是Web服务器。
所以改变
String host = "www.gmail.com";
到
String host = "smtp.gmail.com";
编辑:您还需要:String port = "587";
而不是...port = "25"