首先了解下邮件发送的原理(下面的操做仅限 mac/linux):linux
$ dig MX qq.com +short安全
30 mx1.qq.com.
10 mx3.qq.com.
20 mx2.qq.com.服务器
若是要发送邮件给 xxx@qq.com,首先要查找 qq.com 对应的 MX 记录,若是没有记录的话,某种特点状况下还要查看他的 cname 值。app
一般接受邮件的端口都是 25 端口,下面使用 telnet 命令进行尝试工具
$ telnet mx1.qq.com 25测试
Trying 113.108.16.62...
Connected to mx1.qq.com.
Escape character is '^]'.
220 newmx30.qq.com MX QQ Mail Server
550 Connection denied. please try again later
Connection closed by foreign host.google
固然,咱们这里是在本地测试,直接就被 ban 掉,因此能够考虑对 189.cn 的邮箱进行测试。orm
下面就是一些通信的内容,这里暂很少讲,直接谷歌“使用 telnet进行邮件发送便可”,只强调一些关键的内容。对象
除了你主动告诉他的这些信息(您是谁,来自哪儿,要到哪儿去,带着什么),接收方还能够获取到你的 IP。因此,收件人第一件事情就是验证你IP的信誉度,而后验证你提供的全部信息的合法/正确性。ip
折腾了这么多,邮件应该能够成功的发出去了。可是,你会发现国外(例如hotmail)邮件一直都进入不了。如何 http://wiki.wordtothewise.com/ISP_Summary_Information 。这个是个体力活,根据你发送的对象进行信息注册,而后就OK了。
因而恭喜你,你的邮件能够发送出去了。可是一段时间后会发现常常会出现发送失败的状况。如何获取到更多的反馈呢?
最后,仍是要提醒一个关于 IP 预热的概念,简单的说就是对于一个新的 IP,你要在前期控制你的发送总量,好让收件服务一个能够给你打分的阶段。
再附上一些邮件相关的测试工具:
技术的东西到此基本结束了,经验总结至我最近的一个邮件服务(如今处在徘徊期),非技术观点传送门: http://vincenting.com/think/give-up-jianxin/,项目地址传送门:http://jianxin.io/(但愿打开的时候项目尚未被我本身彻底叫停)。
若是对该项目、或者邮件发送感兴趣,欢迎联系。