我从下面的细节发送邮件:
// 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格式"
邮件附件只支持本地驱动器上的文件。
如果你想附加一个网络上的文件,你应该先把它下载到你的本地驱动器。
如果你的本地硬盘上有这个文件,你可以这样做:
String sFile = "abc.pdf";
var oAttch = new System.Web.Mail.MailAttachment(Server.MapPath(sFile));
oMail.Attachments.Add(oAttch);
不能使用网络上的文件。它必须位于您的本地驱动器上。
查看MSDN - MailAttachment Constructor (String)