问题:
我试图复制 yahoo 和 hotmail 使用的基于 SMTP 的标头/电子邮件并通过 Telnet 发送它们,但我收到的电子邮件不显示包含的附件,但它确实正确显示了消息。
我怀疑是什么原因造成的:
我相信我的电子邮件格式不正确,尽管在网上搜索了许多文章(以及试图掌握复杂且难以阅读的 RFC),但我没有找到任何有用或简洁的文章来解释如何使用这三种方法(Plain 、HTML 和附件)在 SMTP 中正确。我花了几天时间尝试更改代码,但我要么只得到消息(没有附件),要么得到整个 SMTP 数据主体显示(包括边界、html 代码等)。
我希望通过这个问题实现的目标:
我希望有人可以查看我在下面收集的信息,并能够告诉我我遗漏了什么(或者电子邮件的格式究竟有多不正确)。
调试信息:
我将发送到 SMTP 服务器的信息的副本提供给文件,并将信息粘贴到 pastebin(删除/编辑了任何个人信息 - Base64 编码附件只是从 IMAP 获得的另一封电子邮件的文本文件):
将信息逐字(减去控制字符)发送到 SMTP 服务器:
我在电子邮件客户端中看到的内容(注意没有附件):
http://i45.tinypic.com/29b1zci.jpg
下载电子邮件时 IMAP 看到的内容(注意格式不正确):
正确格式的电子邮件在 IMAP 中应该是什么样子:
我怀疑 SMTP 误解了我发送的内容,这就是 IMAP 尝试检索电子邮件时缺少 multipart/alternative 的原因。我到底做错了什么?服务器期望什么?
[感谢您的支持-我可以重新启用链接!]