首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用System.Web.Mail在C#中设置电子邮件附件名称

使用System.Web.Mail在C#中设置电子邮件附件名称
EN

Stack Overflow用户
提问于 2014-06-27 20:23:05
回答 2查看 4.3K关注 0票数 3

我像这样添加一个附件:

代码语言:javascript
复制
System.Web.Mail.MailAttachment attachment = new System.Web.Mail.MailAttachment(AttachmentPath);   

System.Web.Mail.MailMessage mailMsg = new System.Web.Mail.MailMessage();
....
mailMsg.Attachments.Add(attachment);

但我想让它附加一个不同的名称,因为它是一个临时文件,所以实际的文件名非常长且令人困惑。我希望它附加如"SalesOrderNo1.pdf",有没有一种简单的方法可以做到这一点,而不必制作一个文件名冲突的高风险的文件的副本?

(我不能使用System.Net.Mail,因为我必须连接使用隐式SSL的服务器,但System.Net.Mail不支持它。)

EN

回答 2

Stack Overflow用户

发布于 2014-06-27 20:38:04

您必须重命名该文件。如果您希望避免文件名冲突,您可以始终拥有一个临时文件夹,您可以将文件复制到该文件夹中并重命名它们。然后将这个新文件附加到您的电子邮件中,发送电子邮件,无论发送成功与否,在方法结束时删除该文件。

无论如何,在通过电子邮件发送完附件后将其删除可能是一个很好的做法,除非您需要保留这些文件以用于某种审计目的。

票数 2
EN

Stack Overflow用户

发布于 2014-06-27 20:50:45

请改用STMP邮件。System.Web.Mail.MailMessage已过时。您可以通过以下代码使用smtp邮件消息。使用此选项,您可以更改附件名称。这是使用smtp客户端发送电子邮件的完整代码。请根据需要更改所有参数

代码语言:javascript
复制
                SmtpClient smtpClient = new SmtpClient();
                MailMessage message = new MailMessage();
                smtpClient.Host = "host name";
                smtpClient.Port = 25;
                smtpClient.UseDefaultCredentials = false;
                smtpClient.Credentials = new NetworkCredential("user name", "password");
                smtpClient.EnableSsl = false;
                message.IsBodyHtml = true;

                message.Priority = MailPriority.Normal;
                message.From = new MailAddress("from email address");
                string file = @"your file complete path";
                Attachment data = new Attachment(file);
                message.Attachments.Add(data);
                data.Name = "newfilename";
                message.To.Add("testemailaddress");
                message.Subject = "test email";
                message.Body = "test email";
                smtpClient.Send(message);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24451759

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档