首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

提问:关于JAVAMAIL发送时提示不能连接SMTP服务器的有关问题

2012-03-23 
提问:关于JAVAMAIL发送时提示不能连接SMTP服务器的问题源代码如下:htmlheadtitle CH17-JavaMail2.js

提问:关于JAVAMAIL发送时提示不能连接SMTP服务器的问题
源代码如下:
<html>
<head>
    <title> CH17   -   JavaMail2.jsp </title>
</head>
<body>
<h2> 利用JavaMail来传送电子邮件   -   HTML格式 </h2>

<%@   page   import= "java.util.* "   %>
<%@   page   import= "javax.mail.* "   %>
<%@   page   import= "javax.activation.* "   %>
<%@   page   import= "javax.mail.internet.* "   %>

<%@   page   contentType= "text/html;charset=GB2312 "   %>


<%
request.setCharacterEncoding( "GB2312 ");

String   host       =   "smtp.gmail.com ";
String   rec                   =   request.getParameter( "To ");
String   sen                     =   request.getParameter( "From ");
String   sub             =   request.getParameter( "Subject ");
String   mess         =   request.getParameter( "Message ");
String   username       =   "test ";      
String   password           =   "123456 ";      

    boolean   sessionDebug   =   false;
Properties   prop   =   System.getProperties();
prop.put( "mail.host ",host);
prop.put( "mail.transport.protocol ", "smtp ");
prop.put( "mail.smtp.auth ", "true ");

javax.mail.Session   mailsess   =   Session.getDefaultInstance(prop,   null);
mailsess.setDebug(sessionDebug);

Message   msg   =   new   MimeMessage(mailsess);
msg.setFrom(new   InternetAddress(sen));
InternetAddress[]   address=   {new   InternetAddress(rec)};
msg.setRecipients(Message.RecipientType.TO,   address);
msg.setSubject(sub);
msg.setText(mess);

Transport   transport   =   mailsess.getTransport( "smtp ");
transport.connect(host,   username,   password);
transport.sendMessage(msg,msg.getAllRecipients());      
transport.close();
//transport.send(msg);
%>
出错提示:
exception  

org.apache.jasper.JasperException:   Could   not   connect   to   SMTP   host:   smtp.gmail.com,   port:   25
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:512)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root   cause  

javax.servlet.ServletException:   Could   not   connect   to   SMTP   host:   smtp.gmail.com,   port:   25
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:843)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:776)
org.apache.jsp.JavaMail_jsp._jspService(JavaMail_jsp.java:159)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root   cause  

javax.mail.MessagingException:   Could   not   connect   to   SMTP   host:   smtp.gmail.com,   port:   25;
    nested   exception   is:
java.net.ConnectException:   Connection   timed   out:   connect
com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1282)
com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:370)
javax.mail.Service.connect(Service.java:275)
javax.mail.Service.connect(Service.java:156)
org.apache.jsp.JavaMail_jsp._jspService(JavaMail_jsp.java:90)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

还请帮忙指点指点,谢谢了俄

[解决办法]
楼主
把杀毒软件和防火墙先关一下
我以前发生这样的问题是我的防火墙不让outlook之外的东西访问25端扣的
[解决办法]
哈哈,我也遇到过这样的问题,跟楼上说的一样。

把防火墙关了,就能发送成功啦!
[解决办法]
ee,因该是网络的问题吧
[解决办法]
<%@ page import= "java.util.* " %>
<%@ page import= "javax.mail.* " %>
<%@ page import= "javax.activation.* " %>
<%@ page import= "javax.mail.internet.* " %>

<%@ page contentType= "text/html;charset=GB2312 " %>
这些应该放在 <html> 上边吧?

热点排行