最近在做一个项目用到javamail推送邮件,我在本地项目(WIN10系统)里配置好之后是可以成功发送邮件的,但是放到服务器(WIN SERVER 2012 R2)上就有一些问题,没有报错,也catch不到异常,但是填写的邮箱接收不到邮件。这里是代码。找不到是什么原因,寻求帮助。
final String to = "我自己的邮箱";
final String from = "我自己的邮箱";
final String host = "邮箱服务器";
final Properties properties = System.getProperties();
properties.setProperty("mail.smtp.host", host);
properties.setProperty("mail.smtp.auth", "true");
properties.setProperty("mail.smtp.port", "587");
final Session session = Session.getDefaultInstance(properties, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("我的邮箱", "我的邮箱密码");
}
});
try {
String nick = "";
try {
nick = MimeUtility.encodeText("管理员");
} catch (Exception e) {
e.printStackTrace();
}
final MimeMessage message = new MimeMessage(session);
message.setFrom((Address) new InternetAddress(String.valueOf(nick)
+ " <" + from + ">"));
message.addRecipient(Message.RecipientType.TO,
(Address) new InternetAddress(to));
message.setSubject("新留言");
message.setContent(
(Object) ("<h1>你好</h1>"),
"text/html;charset=gb2312");
Transport.send((Message) message);
System.out.println("发送成功");
} catch (MessagingException mex) {
System.out.println("发送失败");
mex.printStackTrace();
}
<p>兄弟 你加点log啊 也好排查哪一步出了问题</p>
回复 <a class="referer" target="_blank">@你不懂的吧</a> : 邮箱服务器是我们公司的服务器,可以telnet通。但是代码部署的服务器的25端口和587端口都telnet不通
回复 <a class="referer" target="_blank">@路过333333</a> : 你看看服务器能不能telnet通,还有服务器是不是对这个端口屏蔽了啊
Transport.send()要卡好久,但是没有抛出异常
<p>看看服务器是否将端口号屏蔽</p>
<p>请问你是怎么解决,我也遇到了相同的问题</p>
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。