前段时间查了个雅虎邮箱发送失败的问题,提示“554 Transaction failed : Cannot send message due to possible abuse; please visit http://postmaster.yahoo.com/abuse_smtp.html for more information”
去官网和网上搜看了不少帖子,也没有个清晰的头绪,只能认为邮件被当作垃圾邮件了,可能格式上存在问题,但问题是测试其他邮箱却没有问题。
最后还是通过查看rfc文档,查看到可疑的地方,经修改没有问题了,原因是设置boundary边界参数中带了‘#’字符,而rfc文档中没有包含该字符,去除后就可以正常发送雅虎邮箱了,不过也不明白为啥其他邮箱测试不存在这个问题,只能认为雅虎邮箱检测比较严格了。
顺带了解了下MIME协议,下面根据《计算机网络》及网上搜索做了些摘录整理。
MIME概述
SMTP(RFC2821)有如下缺点:
1、不能传送可执行文件或其他的二进制对象
2、限于传送7位的ASCII码,许多其他非因为国家的文字就无法传送
3、拒绝超过一定长度的邮件
4、有些SMTP的实现没有完全按照SMTP的因特网标准