如何通过亚马逊发送附带自定义文件扩展名的电子邮件?

时间:2013-11-04 23:52:30

标签: c# amazon mime

我正在尝试发送附带自定义文件扩展名的附件的电子邮件,例如'file.aaa'。我不知道如何设置它的MIME内容类型。我新建了一个'新的Attachement(stream,null,null)'。但后来得到了亚马逊的“非法文件名file.aaa”例外。

1 个答案:

答案 0 :(得分:0)

您必须在电子邮件中指定MIME类型。您可以使用application/octet-stream指定它应作为二进制文件处理,text/plain表示文本文件,或者您可以将其设为application/vnd.yourcompany.yourapplicationname - 以type/vnd.company开头的任何内容都是保留供私人使用。有关详细信息,请参阅the Wikipedia article


显然,亚马逊限制文件扩展名和MIME类型。我会考虑将自定义格式压缩为显然允许的格式。有关详情,请参阅developer documentation

var inputfile = "foobar.aaa";
var tempdir = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString());
var outZipFile = File.GetTempFileName();

File.Move(inputfile, tempdir);
ZipFile.CreateFromDirectory(tempdir, outZipFile);
Directory.Delete(tempdir, true /* delete the file within */);

var attachment = new Attachment(outZipFile, "yourFile.zip", "application/octet-stream");
// send your email
File.Delete(outZipFile);