1

我需要在电子邮件中附加一个 Word 文档。

该文档存储在解决方案中的一个名为“附件”的文件夹中

问题

我想知道我需要使用什么路径才能将 Word 文档附加到电子邮件中,并且还想知道我是否正确附加了它。

这是我的做法:

string fileName = "~/Attachments/worddocument.doc";
MailMessage mail = new MailMessage
    {
        Sender = new MailAddress(this.SenderAddress, this.SenderName),
        From = new MailAddress(this.FromAddress, this.FromName),
        ReplyToList = { new MailAddress(this.ReplyToAddress, this.ReplyToName) },
        IsBodyHtml = this.isBodyHtml,
        Subject = this.UserSubject,
        Attachments.Add(new Attachment(fileName, MediaTypeNames.Application.Octet));
     };

看起来怎么样?我是否正确指定了路径?

谢谢

4

1 回答 1

1

Attachment需要一个绝对路径。

您可以将虚拟路径转换为绝对路径

var absolutePath = Server.MapPath("~/Attachments/worddocument.doc")

并附上

Attachments.Add(new Attachment(absolutePath, MediaTypeNames.Application.Octet));

如果要检查虚拟目录中的文件是否存在,请使用

if (File.Exists(absolutePath))
...
于 2013-07-05T20:39:13.493 回答