最近公司需要开发一个自定义邮箱功能,上网查询一下,利用163邮箱发送邮件。

由于163 的反垃圾机制,(坑爹机制。)

一般出现 554有在1)测试中用了test,测试,关键字在主题或者内容里面。

但是我遇到的情况是这样的:相同的代码,本地环境运行能发送邮件成功(邮件内容也是一样的)而测试环境就不能。

然后我启用debug模式。

EHLO tclserver-124-251-36-10.tcl.opi.com //问题在这里
。。。。。。。。。。。。
//里面很多内容,截取有用的部分作为说明
554 DT:SPM 163 smtp5,D9GowACHO7RNWNdXmXs1Bw--.9035S2 1473730639,please see http://mail.163.com/help/help_spam_16.htm?ip=124.251.36.10&hostid=smtp5&time=1473730639
DEBUG SMTP: got response code 554, with response: 554 DT:SPM 163 smtp5,D9GowACHO7RNWNdXmXs1Bw--.9035S2 1473730639,please see http://mail.163.com/help/help_spam_16.htm?ip=124.251.36.10&hostid=smtp5&time=1473730639

  163邮箱服务器,由于我本地ip是没有域的,而测试环境是有域名的。然后就没有然后了

正确的的代码是

package com.fortunedr.thirdReport;

import java.util.Date;
import java.util.Properties; import javax.mail.MessagingException; import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl; /**
* 本类测试简单邮件 直接用邮件发送
*
* @author Administrator
*
*/
public class SingleMailSend
{
public static void main(String args[]) throws MessagingException
{
SingleMailSend a=new SingleMailSend();
a.sendMail();
} private void sendMail() throws MessagingException{ JavaMailSenderImpl senderImpl = new JavaMailSenderImpl();
// 设定mail server
senderImpl.setHost("smtp.163.com");
// 建立邮件消息
SimpleMailMessage mailMessage = new SimpleMailMessage();
// 设置收件人,寄件人 用数组发送多个邮件
// String[] array = new String[] {"sun111@163.com","sun222@sohu.com"};
// mailMessage.setTo(array);
mailMessage.setTo("1518737361@qq.com");
mailMessage.setFrom("your eamil");
mailMessage.setSubject(" 测试简单文本邮件发送! ");
mailMessage.setText(" 测试我的简单邮件发送机制!!2222这是测试环境的代码 "+new Date());
mailMessage.setSentDate(new Date());
senderImpl.setPort(25);
senderImpl.setUsername("your email"); // 根据自己的情况,设置username
senderImpl.setPassword("password"); // 根据自己的情况, 设置password
senderImpl.setDefaultEncoding("UTF-8");
Properties prop = new Properties();
// prop.put("mail.smtp.auth", "true"); // 将这个参数设为true,让服务器进行认证,认证用户名和密码是否正确
prop.put("mail.smtp.timeout", "25000");
prop.put("mail.debug", "true");//便于调试
prop.put("mail.transport.protocol", "smtp");
/**
* 关键代码,
* 出现554 DT:SPM 163 smtp5,D9GowACHO7RNWNdXmXs1Bw--.9035S2 1473730639,
* please see http://mail.163.com/help/help_spam_16.htm?ip=124.251.36.10
* &hostid=smtp5&time=1473730639
原因是:ip与域名不匹配。
*/
prop.put("mail.smtp.localhost", "mail.digu.com"
);
prop.put("mail.smtp.auth", "false");
prop.put("mail.smtp.port", "25");
senderImpl.setJavaMailProperties(prop);
// 发送邮件 senderImpl.send(mailMessage); System.out.println(" 邮件发送成功.. "); }
}

  总结:关于163邮箱的554的故事(事故)还有很多。我也是百度了很久才得到这个答案。大家根据自己的情况而定。本篇文章只针对ip与域不匹配的情况

最新文章

  1. 代码管理工具 --- git的学习笔记一《git的个人开发》
  2. Java JVM类加载机制
  3. SQL常用语句(2)
  4. superF12
  5. as3.0服务端FMS软件常用的方法与属性参考示例
  6. 如何在Exe和BPL插件中实现公共变量共享及窗口溶入技术Demo源码
  7. Android(java)学习笔记196:Android中Menu的使用(静态和动态)
  8. 手机新闻网站,手持移动新闻,手机报client,jQuery Mobile手机新闻网站,手机新闻网站demo,新闻阅读器开发
  9. 困扰你的private static final long serialVersionUID
  10. List的输出方法
  11. 用java编写一个微博登陆页面
  12. SharpGL(46)用Billboard绘制头顶文字
  13. Grunt connect
  14. C# string contains 不区分大小写
  15. Elasticsearch Windows下安装及配置集群
  16. no plugin found for prefix 'tomcat 7' in the current project and in the plugin groups的解决方法
  17. SpringBoot之整合Mybatis范例
  18. Laravel之路由 Route::get/post/any、路由参数、过滤器、命名、子域名、前缀、与模型绑定、抛出 404 错误、控制器
  19. SIP 认证
  20. 【PMP】挣值分析

热门文章

  1. Scala 包
  2. ios UIWebView自定义Alert风格的弹框
  3. xUtils 3.0 post使用详解
  4. 一步步学习 Spring Data 系列之JPA(二)
  5. Java和PHP哪个方向更有前途?
  6. (视频)Erich Gamma 与 Visual Studio Online 的一点野史
  7. [数据科学] 从text, json文件中提取数据
  8. 基于H5的微信支付开发详解
  9. 搭建php环境哪家强
  10. jQuery.ajaxComplete() 函数详解