最近公司需要开发一个自定义邮箱功能,上网查询一下,利用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. linux查看本机IP、gateway、DNS

    IP:     ifconfig gateway:[root@localhost ~]# netstat -rnKernel IP routing tableDestination     Gatew ...

  2. json相关类库,java对象与json相互转换

    有效选择七个关于Java的JSON开源类库 转自:http://www.open-open.com/lib/view/open1397870197828.html 翻译: (英语原文:http://w ...

  3. iOS中多线程的实现方案

    什么是主线程? 一个iOS程序运行后,默认会开启一条线程,称为“主线程”或“UI线程” 主线程的主要作用 1.显示/刷新UI界面 2.处理UI事件(比如点击事件,滚动事件,拖拽事件) 主线程的使用注意 ...

  4. Python攻关之Django(一)

    课程简介: Django流程介绍 Django url Django view Django models Django template Django form Django admin (后台数据 ...

  5. codevs 2879 堆的判断

    codevs 2879 堆的判断 http://codevs.cn/problem/2879/ 题目描述 Description 堆是一种常用的数据结构.二叉堆是一个特殊的二叉树,他的父亲节点比两个儿 ...

  6. Spring + SpringMVC + Druid + JPA(Hibernate impl) 给你一个稳妥的后端解决方案

    最近手头的工作不太繁重,自己试着倒腾了一套用开源框架组建的 JavaWeb 后端解决方案. 感觉还不错的样子,但实践和项目实战还是有很大的落差,这里只做抛砖引玉之用. 项目 git 地址:https: ...

  7. [网站性能2]Asp.net平台下网站性能调优的实战方案

    文章来源:http://www.cnblogs.com/dingjie08/archive/2009/11/10/1599929.html 前言    最近帮朋友运营的平台进行了性能调优,效果还不错, ...

  8. go reflect

    package main import ( "fmt" "reflect" // 反射包 ) type User struct{ //结构体类型 Id int ...

  9. python网络编程-OSI七层模型详解

    OSI 七层模型通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯,因此其最主要的功能就是帮助不同类型的主机实现数据传输 . 完成中继功能的节点通常称为中继系统.在OSI七层模型中,处于 ...

  10. jquery中attr和prop的区别

    在高版本的jquery引入prop方法后,什么时候该用prop?什么时候用attr?它们两个之间有什么区别?这些问题就出现了. 关于它们两个的区别,网上的答案很多.这里谈谈我的心得,我的心得很简单: ...