0

我正在从以下详细信息发送邮件:

// language -- C#
// import namespace
using System.Web.Mail;

private void SendEmail()
{
   const string SERVER = "relay-hosting.secureserver.net";
   MailMessage oMail = new System.Web.Mail.MailMessage();
   oMail.From = "emailaddress@domainname";
   oMail.To = "emailaddress@domainname";
   oMail.Subject = "Test email subject";
   oMail.BodyFormat = MailFormat.Html;  // enumeration
   oMail.Priority = MailPriority.High;  // enumeration
   oMail.Body = "Sent at: " + DateTime.Now;
   SmtpMail.SmtpServer = SERVER;
   SmtpMail.Send(oMail); 
   oMail = null;    // free up resources

}

邮件与上述详细信息正常,现在我想在电子邮件中添加附件。为此,我添加了以下代码:

String sFile = "http://www.demo.com/abc.pdf";
var oAttch = new System.Web.Mail.MailAttachment(sFile);

oMail.Attachments.Add(oAttch);

但它不会在邮件中添加附件。

它给出了“不支持 URI 格式”的错误。

4

2 回答 2

1

您不能使用来自网络的文件。它必须位于您的本地驱动器上。

查看MSDN - MailAttachment 构造函数(字符串)

于 2014-07-30T11:11:19.353 回答
1

邮件附件仅支持本地驱动器中的文件。

如果要附加托管在 Web 上的文件,应首先将其下载到本地驱动器。

如果您的本地驱动器中有该文件,则可以执行以下操作:

String sFile = "abc.pdf";
var oAttch = new System.Web.Mail.MailAttachment(Server.MapPath(sFile));

oMail.Attachments.Add(oAttch);
于 2014-07-30T11:13:20.490 回答