我刚刚实现了一些代码,这些代码通过CSV文件附件向我们的客户发送电子邮件。
有些(不是很多)回复我们抱怨他们根本没有获得附件 - 只是电子邮件正文中的CSV文本。大多数都很好。
我怀疑是不同的邮件客户端以不同的方式处理附件,但我还没有足够的信息确定。
我正在使用.NET的MailMessage类和Attachment.CreateAttachmentFromString()方法。我为附件指定的MIME类型是text / csv。
任何人都知道到底发生了什么事?
Ta很多
大卫
答案 0 :(得分:6)
另一种可能性是,失败的电子邮件客户端无法识别MIME类型“text / csv”,从而显示内联未解释的内容 - 它实际上可能更好地通过'text / plain'。
编辑:我刚刚从Outlook向我的Gmail发送了带有CSV附件的测试邮件,并使用菜单选项“显示原始文件”查看实际的多部分内容,这就是我明白了:
Content-Type: application/octet-stream; name="test.csv"
Content-Description: test.csv
Content-Disposition: attachment;
filename="test.csv";
size=44;
creation-date="Wed, 28 Apr 2010 14:13:20 GMT";
modification-date="Wed, 28 Apr 2010 14:13:43 GMT"
Content-Transfer-Encoding: base64
所以看起来像'application / octet-stream'就可以了。
答案 1 :(得分:0)
你可能走在正确的轨道上。我首先要问那些问题正是他们正在使用的客户端和版本,让他们转发他们收到的消息。如果您发现可以从客户端正确打开这些消息,请提供可接受的客户列表,他们可以将其转发为临时解决方案。
在此之后,它全都在深入研究文档,并弄清楚如何使其发挥作用。
祝你好运。查看他们是否正在打开他们的电子邮件纯文本或html,以及他们的公司是否有关于可以配置到其客户端的附件的任何政策可能也是一个好主意。