程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> smtp發送帶附件的郵件代碼分享

smtp發送帶附件的郵件代碼分享

編輯:ASP.NET基礎

該方式直接保存為HTML文件,也可以是文本文件,其它格式效果不是很好

復制代碼 代碼如下:   
    MailMessage mmsg = new MailMessage();
    mmsg.Subject = "郵件標題";
    mmsg.Body = "郵件內容";
    mmsg.To.Add("[email protected]");//接收郵箱
    byte[] bytes = System.Text.Encoding.Default.GetBytes
        (@"<table><tr><td width=150>1234567891234567
        </td><td width=80>12345678</td></tr></table>");
    MemoryStream ms = new MemoryStream(bytes);
    ContentType ct = new ContentType();
    //附件文件類型
    ct.MediaType = MediaTypeNames.Text.Html;
    //附件名稱,可以是其它後綴名
    ct.Name = "附件名稱" + DateTime.Now.ToString() + ".html";
    mmsg.Attachments.Add(new Attachment(ms, ct));
    //SMTP簡單郵件協議
    System.Net.Mail.SmtpClient sc
        = new System.Net.Mail.SmtpClient();
    sc.Host = "127.0.0.1";//主機地址
    sc.Port = 25;//端口
    //發送郵箱賬號和密碼
    sc.Credentials =
        new System.Net.NetworkCredential("account", "password");
    //發送郵箱
    mmsg.From = new MailAddress("[email protected]");
    sc.Send(mmsg);
    //釋放流資源
    ms.Close();
    ms.Dispose();

另附上一個.net使用smtp發送帶附件郵件的實例

復制代碼 代碼如下:
public static void sendEmail(string toAddress, string emailbody)
{
var fromAddress = ConfigurationManager.AppSettings["EmailAddress"];
string fromPassword = ConfigurationManager.AppSettings["EmailPassword"].ToString();
const string subject = "Job Recommendation";
var smtp = new SmtpClient
{
Host = ConfigurationManager.AppSettings["SmtpServer"].ToString(),
Port = int.Parse(ConfigurationManager.AppSettings["SmtpPort"]),
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new NetworkCredential(fromAddress, fromPassword)
};
using (var message = new MailMessage(fromAddress, toAddress, subject, HttpUtility.HtmlEncode(emailbody)))
{
smtp.Send(message);
}
}
<add key="EmailAddress" value="**********@gmail.com"/>//Email Address
<add key="EmailPassword" value="*********"/> //Emial PWD
<add key="SmtpServer" value="smtp.gmail.com"/>
<add key="SmtpPort" value="587"/>
<--帶附件版本->
var fromAddress = "[email protected]";
string fromPassword = "yj1989120";
const string subject = "CV";
var smtp = new SmtpClient
{
Host = "smtp.gmail.com",
Port = 587,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new NetworkCredential(fromAddress, fromPassword)
};
MailMessage email=new MailMessage(fromAddress, "[email protected]");
email.Subject = "INLINE attachment TEST";
email.IsBodyHtml = true;
string attachmentPath = "C:\\3.jpeg";
Attachment inline = new Attachment(attachmentPath);
inline.ContentDisposition.Inline = true;
inline.ContentDisposition.DispositionType = DispositionTypeNames.Inline;
//inline.ContentId = "1";
//inline.ContentType.MediaType = "image/png";
inline.ContentType.Name = Path.GetFileName(attachmentPath);
email.Attachments.Add(inline);
email.Body = "test";
smtp.Send(email);
email.Dispose();
//如果沒有路徑,用Stream
Attachment letter = new Attachment(FileUploadLetter.FileContent, FileUploadLetter.PostedFile.ContentType);
letter.ContentDisposition.Inline = true;
letter.ContentDisposition.DispositionType = DispositionTypeNames.Inline;
//inline.ContentId = "1";
letter.ContentType.MediaType = FileUploadLetter.PostedFile.ContentType;
letter.ContentType.Name = Path.GetFileName(FileUploadLetter.PostedFile.FileName);
letter.Name = Path.GetFileName(FileUploadLetter.PostedFile.FileName);

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved