java发送邮件【雅虎邮箱.com】本地测试通过服务器上却不行?

JerryZhou_ 2011-02-22 12:40:02
项目中有个java发邮件的功能,开始是gmail作为邮件发件箱的,后来要改成yahoo的 是.com的;
现在出现问题了,在本地测试可以发送邮件,上传代码到服务器上测试的时候却报错,
说是Could not connect to SMTP host: smtp.mail.yahoo.com, port: 25 连接超时什么的
请教各位....
下面是我的代码:
import java.util.Properties;

import javax.mail.Address;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class SendEmail {
public static boolean SendEmailTest(String ToEmailStr, String Title,
String Content, String FromEmaila) throws AddressException {
String FromEmail = "lostcrownservice@yahoo.com";
boolean fnt = false;
Properties props = new Properties();
Session sendMailSession;
Transport transport;
sendMailSession = Session.getInstance(props, null);
String smtp = "smtp.mail.yahoo.com";
props.put("mail.smtp.host", smtp);
props.put("mail.smtp.auth", "true"); // 允许smtp校验
props.setProperty("mail.smtp.port", "25");

try {
transport = sendMailSession.getTransport("smtp");
transport.connect("smtp.mail.yahoo.com", "lostcrownservice@yahoo.com", "******"); Message newMessage = new MimeMessage(sendMailSession);

// 设置mail主题
String mail_subject = Title;
newMessage.setSubject(mail_subject);

// 设置发信人地址
Address address[] = { new InternetAddress(FromEmail) };// 改变发件人地址
newMessage.addFrom(address);
// 设置收件人地址
newMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(ToEmailStr));

// 设置mail正文
newMessage.setSentDate(new java.util.Date());
String mail_text = Content;
newMessage.setText(mail_text);

newMessage.saveChanges(); // 保存发送信息
transport.sendMessage(newMessage, newMessage.getRecipients(Message.RecipientType.TO));
fnt = true;
transport.close();
} catch (Exception e) {
e.printStackTrace();
fnt = false;
}
return fnt;
}
}
...全文
1952 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
JerryZhou_ 2011-02-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 viszl 的回复:]
使用STMP和yahoo发送邮件

试一下,看看是不是这个原因
[/Quote]
虽然不是这个原因 但还是谢谢您!~
JerryZhou_ 2011-02-24
  • 打赏
  • 举报
回复
怎么没人回答呢?
难道 雅虎邮箱 不提供这样的免费服务?
loveofmylife 2011-02-22
  • 打赏
  • 举报
回复
使用STMP和yahoo发送邮件

试一下,看看是不是这个原因
********************欢迎使用该小小的邮件管理系统******************** 一、功能: (1)在你的邮箱支持POP3服务的前提下,你可以登自己的邮箱进行邮件管理! 1、用户登录设置 2、登录邮箱 3、收邮件 4、新建邮件 5、阅读邮件(不完善) 6、回复 7、删除邮件 8、导出eml文件----打开该eml文件 9、下载附件 10、注销 (2)不登录自己的邮箱,而直接使用该客户软件新建邮件,不过要手动设置自己的SMTP服务器,然后再发送邮件! 1、SMTP服务器设置 2、写邮件 3、群发邮件 二、设置技巧 (1)本系统的实现首先需要下载mail.jar包和activation.jar包,然后添加到本项目中(方法:直接在项目里点“库”--->添加JAR/文件夹...-->把刚才的两个JAR包直接添加进来即可)。 (2)开启自己邮箱的POP3服务:首先在WEB方式下登录自己的邮箱,在设置中查找POP3/SMTP服务的选项,进而开启自己的POP3/SMTP服务。 (3)教你一招:根据域名查询SMTP服务器 在DOS命令行中输入:nslookup 接着输入:set type=mx 再输入:@后面的主机名(即邮箱域名),即可返回SMTP服务器的主机名 还可以输入:set type=a 再输入:返回的SMTP服务器的主机名,便可以得到它的IP地址 (4)再教你一招:借助Telnet程序手工收发邮件 发:telnet smtp.163.com 25(默认的SMTP服务器端口为25) 之后的过程这里不详细说明,大家可以自己去查一些资料; 收:telnet pop3.163.com 110(默认的POP3服务器端口为110) 一样这由大家去查查资料; 总之,这些过程就是邮件收发的底层的通信过程,通俗易懂,但由于一些安全的因素,底层这样直接的通信已越来越被受限制,因此底层的通信极不易成功,这也是本系统采用高层JavaMail API的原因之一。 (5) 一些常用邮箱的POP3与SMTP服务器设置 163邮箱 http://mail.163.com POP3服务器:POP.163.COM 或 POP3.163.COM SMTP服务器:SMTP.163.COM QQ邮箱 http://mail.qq.com POP3服务器:pop.qq.com SMTP服务器:smtp.qq.com Gmail邮箱 http://gmail.google.com 要在Gmail帐户中启用POP,首先登录到Gmail帐户。点击任一Gmail页顶部的设置,点击橙色框邮件设置中的转发和POP。 POP3服务器:pop.gmail.com SMTP服务器:smtp.gmail.com Tom邮箱 http://mail.tom.com POP3服务器:pop.tom.com SMTP服务器:smtp.tom.com 搜狐邮箱 http://mail.sohu.com POP3服务器:pop3.sohu.com 或 pop.sohu.com SMTP服务器:smtp.sohu.com 新浪邮箱 http://mail.sina.com.cn POP3服务器:pop.sina.com 或 pop3.sina.com SMTP服务器:smtp.sina.com 重庆交通大学WEB邮箱 http://mail.cquc.edu.cn POP3服务器:pop3.cquc.edu.cn SMTP服务器:smtp.cquc.edu.cn 雅虎邮箱 http://cn.mail.yahoo.com POP3服务器:pop.mail.yahoo.com.cn SMTP服务器:smtp.mail.yahoo.com.cn 网易188财富邮 http://www.188.com POP3服务器:pop.188.com SMTP服务器:smtp.188.com 126邮箱 http://www.126.com 126免费邮箱目前不直接开放smtp、pop3,但是对于126至尊邮开放pop3和smtp POP3服务器:pop.vip.126.com SMTP服务器:smtp.vip.126.com 21cn邮箱 http://mail.21cn.com 21cn商务邮箱 pop3服务器:pop.21cn.net smtp服务器:smtp.21cn.net 21cn经济邮箱 pop3服务器:pop.21cn.com smtp服务器:smtp.21cn.com 21cn免费邮箱 pop3服务器:p

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧