最近公司需要开发一个自定义邮箱功能,上网查询一下,利用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与域不匹配的情况

163邮箱问题:554 DT:SPM 163 smtp5,D9GowACHO7RNWNdXmXs1Bw--.9035S2的更多相关文章

  1. 554 DT:SPM 163 smtp5,D9GowAD3RPYqSvxZjpMaAA--.4817S2 1509706293 坑爹的防垃圾邮件机制

    代码如下 package ssmtest; import java.io.File;import java.io.UnsupportedEncodingException;import java.ut ...

  2. perl 用网易发邮件报错 554 DT:SPM 163 smtp14

    查看相关链接,貌似被当成垃圾邮件了,发不出去 554 DT:SPM 163 smtp14,EsCowACHUegmKpdc3giRMQ--.29617S2 1553410599,please see ...

  3. smtplib.SMTPDataError: (554, 'DT:SPM 126 smtp5错误解决办法

    1.自动化测试中,调用邮件模块自动发送邮件时,运行脚本报错: smtplib.SMTPDataError: (554, 'DT:SPM 126 smtp5,jtKowAD3MJz2c1JXLcK2AA ...

  4. 邮件:事务失败。 服务器响应为:DT:SPM 163 smtp

    几年前我做的一个项目,日发邮件最高峰时几十万.自以为对邮件发送方面已经有了一定认识,所以近期机缘巧合之下,又有项目需要发送邮件,不禁自信满满,暗自庆幸能不手到擒来乎? 不想老革命遇到新问题.我原先的邮 ...

  5. smtplib.SMTPDataError: (554, b'DT:SPM 163……)

    1.报错535: 未将POP3/SMTP服务开启.通过在163邮箱内 设置 获取授权码  打开,通过授权码可以进行第三方登录.此处的Password填写授权码. 2.报错554: 第一种情况:缺失发件 ...

  6. smtplib.SMTPDataError: (554, b'DT:SPM 163 smtp10,DsCowAA3nir1u6xZq42WDw--.22935S2 1504492533,please

    # from email.mime.text import MIMEText # # msg = MIMEText('hello, send by Python...', 'plain', 'utf- ...

  7. app里使用163邮箱发送邮件,被163认为是垃圾邮件的坑爹经历!_ !

    最近有个项目,要发邮件给用户设定的邮箱报警,然后就用了163邮箱,代码是网上借来的^^,如下: package com.smartdoorbell.util; import android.os.As ...

  8. java邮件发送 qq与163邮箱互发和qq和163邮箱发送其他邮箱实例

    研究了近一天的时间,通过查阅相关资料,终于对java发送邮件的机制,原理有了一点点的理解,希望能够帮到大家! 1.首先要向你的项目里导入1个jar包:mail-1.4.4.jar即可(实现qq和163 ...

  9. smtplib.SMTPDataError: (554, b'DT:SPM 126 smtp

    报错信息 smtplib.SMTPDataError: (554, b'DT:SPM 126 smtp7,DsmowAA3uguL7e1cyvkyFw--.22553S3 1559096715,ple ...

随机推荐

  1. 【转】Android SDK Samples,学习Android的好方法

    转载地址:http://blog.csdn.net/rowland001/article/details/50886288 从今天开始呢,我要开始学习Google家自己出的Android代码示例,总觉 ...

  2. html5页面结构

    我是html5初学者,最近闲来无事,和各位一起学些下html5. 开发环境 jdk1.6,tomcat6,开发工具eclipse. 新建一个web工程,创建一个index.jsp页面.页面代码如下. ...

  3. SQL Server 2014新特性:其他

    AlwaysOn 增强功能 SQL Server 2014 包含针对 AlwaysOn 故障转移群集实例和 AlwaysOn 可用性组的以下增强功能: “添加 Azure 副本向导”简化了用于 Alw ...

  4. Quartz2.0以上版本的单机和集群

    (一)Quartz单机 1.Quartz简介 Quartz是一个完全由java编写的开源作业调度框架,能实现业务的定时调度.Quartz主要有三个核心调度器.任务和触发器: ①任务-JobDetail ...

  5. properties属性文件工具类

    package xxx.business.utils; import org.apache.commons.configuration.ConfigurationException; import o ...

  6. 用Retrofit发送请求中添加身份验证

    用Retrofit发送请求中添加身份验证====================在安卓应用开发中, retrofit可以极大的方便发送http网络请求,不管是GET, POST, 还是PUT, DEL ...

  7. python-copy模块使用

    浅拷贝 import copy dic = { "cpu":[80,], "mem":[80,], "disk":[80,] } print ...

  8. x01.Tetris: 俄罗斯方块

    最强大脑有个小孩玩俄罗斯方块游戏神乎其技,那么,就写一个吧,玩玩而已. 由于逻辑简单,又作了一些简化,所以代码并不多. using System; using System.Collections.G ...

  9. (哈夫曼树)HuffmanTree的java实现

    参考自:http://blog.csdn.net/jdhanhua/article/details/6621026 哈夫曼树 哈夫曼树(霍夫曼树)又称为最优树. 1.路径和路径长度在一棵树中,从一个结 ...

  10. [No000090]C#捕获控制台(console)关闭事件及响应cmd快捷键

    捕获控制台(console)关闭事件: 1.Ctrl+C信号: 2.Ctrl+Break信号: 3.用户系统关闭Console时: 4.用户退出系统时: 5.系统将要关闭时: using System ...