C# 如何通过Amazon发送带有自定义文件扩展名附件的电子邮件?

C# 如何通过Amazon发送带有自定义文件扩展名附件的电子邮件?,c#,amazon,mime,C#,Amazon,Mime,我正试图发送一封带有自定义文件扩展名附件的电子邮件,如“file.aaa”。我不知道如何设置它的MIME内容类型。我将新的atachment命名为“new Attachementstream,null,null”。但随后出现了“非法文件名file.aaa”的亚马逊例外 您必须在电子邮件中指定MIME类型。您可以使用application/octet stream来指定它应该作为二进制文件处理,text/plain用于文本文件,或者您可以将其设置为application/vnd.yourcompa

我正试图发送一封带有自定义文件扩展名附件的电子邮件,如“file.aaa”。我不知道如何设置它的MIME内容类型。我将新的atachment命名为“new Attachementstream,null,null”。但随后出现了“非法文件名file.aaa”的亚马逊例外

您必须在电子邮件中指定MIME类型。您可以使用application/octet stream来指定它应该作为二进制文件处理,text/plain用于文本文件,或者您可以将其设置为application/vnd.yourcompany.yourcompany-applicationname-任何以/vnd.company类型开头的内容都保留给私人使用。有关更多信息,请参阅

显然,Amazon限制了文件扩展名和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);

问题是,我只能找到通用文件扩展名(如“.txt”、“.image”、“.exe”或任何其他通用扩展名)的MIME内容类型。但是自定义文件扩展名的正确内容类型是什么?我尝试了应用程序/八位字节流,它不工作。我仍然得到一个非法文件名的AmazonSimpleEmailException。。。