我正在尝试发送一封带有自定义文件扩展名附件的电子邮件,例如“file.aaa”。我不知道如何设置它的 MIME 内容类型。我新建了一个附件作为“新附件(流,空,空)”。但随后得到了“非法文件名file.aaa”的亚马逊例外。
问问题
259 次
1 回答
0
您必须在电子邮件中指定 MIME 类型。您可以使用application/octet-stream
来指定它应该作为二进制文件处理,text/plain
对于文本文件,或者您可以将其设置为application/vnd.yourcompany.yourapplicationname
- 任何以开头的内容type/vnd.company
都保留供私人使用。有关更多信息,请参阅维基百科文章。
显然,亚马逊限制了文件扩展名和 MIME 类型。我会考虑压缩您的自定义格式,因为显然这是允许的。有关更多信息,请参阅开发人员文档。
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);
于 2013-11-05T00:09:52.727 回答