我们公司的网站,有个自动发送邮件的功能,服务器是weblogic8.1,用javamail来发送,邮箱是gmail的,2天前还是运行得很正常的,一直都没有什么问题,可是现在只要weblogic 一发送邮件就会报错 ,如下 :(到底是怎么回事?),如果不用weblogic,用JBuilder运行发送就可以,大家有遇到这样的情况吗?真的好奇怪啊,让我百思不得其解,希望达人相助,谢谢! javax.mail.SendFailedException: Sending failed;
nested exception is:
javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmai
l.com, port: 465
at javax.mail.Transport.send0(Transport.java:219)
at javax.mail.Transport.send(Transport.java:81)
at angel.marryachinese.GetPassWord.testSendMail(GetPassWord.java:121)
at angel.marryachinese.loginAction.execute(loginAction.java:490)
at org.apache.struts.action.RequestProcessor.processActionPerform(Reques
tProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.ja
va:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:148
2)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
(ServletStubImpl.java:971)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:402)
nested exception is:
javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmai
l.com, port: 465
at javax.mail.Transport.send0(Transport.java:219)
at javax.mail.Transport.send(Transport.java:81)
at angel.marryachinese.GetPassWord.testSendMail(GetPassWord.java:121)
at angel.marryachinese.loginAction.execute(loginAction.java:490)
at org.apache.struts.action.RequestProcessor.processActionPerform(Reques
tProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.ja
va:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:148
2)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
(ServletStubImpl.java:971)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:402)
解决方案 »
- JComboBox圖標問題
- swing 输入中文时的问题
- JAVA中不能创建抽象类的对象 ? 我觉得可以!
- 发布jtotem2.0图形工具
- 老手回答: java 的基本知识
- 求一条SQL语句
- \267\265\273\330\ 的结果是 返回 这个是什么编码(手机上的)
- 求助---j2ee开发工具的相关资料
- 初学:我只下载了SUN的JDK,还需要怎么配置吗?还要下载什么吗?用文本编辑器编辑JAVA代码吗?是保存的扩展名用什么?
- 送分问题:Exception in thread "main" java.lang.NoClassDefFoundError: SimpleProgram/class
- 关于延时repatint()的问题
- 初学者问,要不要set函数?
楼主【yamazaki1214】截止到2008-08-01 10:47:54的历史汇总数据(不包括此帖):
发帖的总数量:12 发帖的总分数:520 每贴平均分数:43
回帖的总数量:14 得分贴总数量:4 回帖的得分率:28%
结贴的总数量:11 结贴的总分数:420
无满意结贴数:4 无满意结贴分:350
未结的帖子数:1 未结的总分数:100
结贴的百分比:91.67 % 结分的百分比:80.77 %
无满意结贴率:36.36 % 无满意结分率:83.33 %
值得尊敬
取消马甲机器人,请点这里:http://www.java2000.net/mycsdn/robotStop.jsp?usern=yamazaki1214
public int sendMail(String userMail,String sub,String content)
{
try {
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
// Get a Properties object
Properties props = System.getProperties();
props.setProperty("mail.smtp.host", "smtp.gmail.com");
props.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY);
props.setProperty("mail.smtp.socketFactory.fallback", "false");
props.setProperty("mail.smtp.starttls.enable", "true");
props.setProperty("mail.smtp.startssl.enable", "true");
props.setProperty("mail.smtp.port", "465");
props.put("mail.smtp.auth", "true");
final String username = "[email protected]";
final String password = "xxxxxx";
Session session = Session.getDefaultInstance(props, new Authenticator()
{
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
}
); // -- Create a new message --
Message msg = new MimeMessage(session); // -- Set the FROM and TO fields --
msg.setFrom(new InternetAddress(username));
msg.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(userMail,false));
msg.setSubject(sub);
msg.setText(content);
msg.setSentDate(new Date());
Transport.send(msg); System.out.println("email is sent");
return 1;
} catch (Exception ex) {
ex.printStackTrace();
return 0;
}
非常谢谢你的意见,weblogic连接smtp server被防火墙拦截了,这个原因应该不可能吧,因为smtp server不是我控制的吧,你的意思是:主要原因还是在gmail邮件服务器,是吗?因为我的代码用jdk或者JBuilder和Eclipse单独运行是可以发送邮件的。还会有其他的问题吗?
非常谢谢你的建议!
请问如何启动我的邮件服务器啊?用javamail发送邮件,我还要启动邮件服务器?这是怎么回事啊?我还是第一次听讲,可能你还没有看懂我的问题!端口绝对没有问题!有没有其他的原因?