附件不是电子邮件

时间:2014-07-30 11:09:02

标签: c# email attachment system.web.mail

我发送的邮件来自以下细节:

// 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格式"。

2 个答案:

答案 0 :(得分:1)

您无法使用网络上的文件。它必须位于您的本地驱动器上。

查看MSDN - MailAttachment Constructor (String)

答案 1 :(得分:1)

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

如果您要附加网络托管的文件,请先将其下载到本地驱动器。

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

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

oMail.Attachments.Add(oAttch);