在 C# 中设置电子邮件附件名称

Posted

技术标签:

【中文标题】在 C# 中设置电子邮件附件名称【英文标题】:Set Email Attachment name in C# 【发布时间】:2011-11-01 05:24:23 【问题描述】:

我添加这样的附件:

System.Net.Mail.Attachment attachment = new System.Net.Mail.Attachment(AttachmentPath);   
msg.Attachments.Add(attachment);   

但我想让它附加为一个不同的名称,实际的文件名很长而且令人困惑我希望它附加为“file.txt”,有没有一种简单的方法可以做到这一点而不必制作文件的副本?

【问题讨论】:

【参考方案1】:

怎么样:

System.Net.Mail.Attachment attachment = new System.Net.Mail.Attachment(attachmentPath);
attachment.Name = "file.txt";  // set name here
msg.Attachments.Add(attachment);

【讨论】:

这对我有用:attachment.ContentDisposition.FileName = "file.txt";【参考方案2】:

您需要从流中加载附件,然后您可以为其指定名称和媒体类型。

var fs = new FileStream("attachmentPath", FileMode.Open);
var attachment = new System.Net.Mail.Attachment(fs, "MyAttachmentName.txt", "text/text");

【讨论】:

以上是关于在 C# 中设置电子邮件附件名称的主要内容,如果未能解决你的问题,请参考以下文章

GMAIL API 在 C# 中发送带附件的电子邮件

在 C# 中发送带有附件的邮件

使用 C# 向电子邮件添加附件

下载电子邮件附件时使用 C# 中的 Microsoft Security Essentials

Outlook - 从带有 .xls 附件的电子邮件和特定发件人中保存文件,然后将电子邮件移动到子文件夹

在php上通过邮件发送长名称附件