要發送郵件,先了解郵件有哪些內容構成:
郵件服務器地址
端口
寄件人
收件人
副本人
密件人
標題
正文
附件
知道這些內容後,我們就知道在設置郵件時需要設置哪些東西了。
如何發呢?
發送郵件需使System.Net.Mail命名空間
使用其中的SmtpClient、MailMessage和Attachment三個類。
1. MailMessage:表示可以使用 SmtpClient 類發送的電子郵件。(郵件的信息)
2. Attachment:表示電子郵件的附件。
3. SmtpClient:允許應用程序使用簡單郵件傳輸協議 (SMTP) 來發送電子郵件。
注:郵件中的內容與MailMessage中屬性的對應如下:
郵件部分 |
屬性 |
---|---|
發件人 |
|
收件人 |
|
抄送 (CC) |
|
密件抄送 (BCC) |
|
附件 |
|
主題 |
|
郵件正文 |
下邊來看一下代碼:
/// <summary>
/// 發送郵件的基礎代碼(不需要設定寄件者賬戶及密碼)
/// </summary>
private static void SendMailBaseCode()
{
//實例化郵件信息類
MailMessage msg = new MailMessage();
//寄件人
msg.From = new MailAddress(MailSender);
//收件人
msg.To.Add("[email protected]");
//標題
msg.Subject = "test";
//標題編碼
msg.SubjectEncoding = Encoding.UTF8;
//正文
msg.Body = "test body";
//正文編碼
msg.BodyEncoding = Encoding.UTF8;
//正文是否用Html形式
msg.IsBodyHtml = false;
//實例化附件類
//附件
Attachment amAnnex = new Attachment(@"D:\ckmsg.txt");
msg.Attachments.Add(amAnnex);
//實例化SMTPClinet類
SmtpClient scMailServer = new SmtpClient();
//郵件服務器地址
scMailServer.Host = "xxx.xxx.xxx.xxx";
//端口
scMailServer.Port = 25;
//發送郵件
scMailServer.Send(msg);
}
/// 發送郵件的基礎代碼(不需要設定寄件者賬戶及密碼)
/// </summary>
private static void SendMailBaseCode()
{
//實例化郵件信息類
MailMessage msg = new MailMessage();
//寄件人
msg.From = new MailAddress(MailSender);
//收件人
msg.To.Add("[email protected]");
//標題
msg.Subject = "test";
//標題編碼
msg.SubjectEncoding = Encoding.UTF8;
//正文
msg.Body = "test body";
//正文編碼
msg.BodyEncoding = Encoding.UTF8;
//正文是否用Html形式
msg.IsBodyHtml = false;
//實例化附件類
//附件
Attachment amAnnex = new Attachment(@"D:\ckmsg.txt");
msg.Attachments.Add(amAnnex);
//實例化SMTPClinet類
SmtpClient scMailServer = new SmtpClient();
//郵件服務器地址
scMailServer.Host = "xxx.xxx.xxx.xxx";
//端口
scMailServer.Port = 25;
//發送郵件
scMailServer.Send(msg);
}
/// <summary>
/// 發送郵件的基礎代碼(需要賬號)
/// </summary>
private static void SendMailNeedBaseCode()
{
MailMessage msg = new MailMessage();
msg.From = new MailAddress("[email protected]");
msg.To.Add("[email protected]");
msg.Subject = "test";
msg.SubjectEncoding = Encoding.UTF8;
Attachment amAnnex = new Attachment(@"D:\ckmsg.txt");
msg.Attachments.Add(amAnnex);
msg.Body = "test body";
msg.BodyEncoding = Encoding.UTF8;
msg.IsBodyHtml = true;
SmtpClient scMailServer = new SmtpClient();
scMailServer.DeliveryMethod = SmtpDeliveryMethod.Network;
scMailServer.Credentials = new NetworkCredential("XXX", "XXX");
scMailServer.Host = "smtp.163.com";
scMailServer.Port = 25;
scMailServer.Send(msg);
}
/// 發送郵件的基礎代碼(需要賬號)
/// </summary>
private static void SendMailNeedBaseCode()
{
MailMessage msg = new MailMessage();
msg.From = new MailAddress("[email protected]");
msg.To.Add("[email protected]");
msg.Subject = "test";
msg.SubjectEncoding = Encoding.UTF8;
Attachment amAnnex = new Attachment(@"D:\ckmsg.txt");
msg.Attachments.Add(amAnnex);
msg.Body = "test body";
msg.BodyEncoding = Encoding.UTF8;
msg.IsBodyHtml = true;
SmtpClient scMailServer = new SmtpClient();
scMailServer.DeliveryMethod = SmtpDeliveryMethod.Network;
scMailServer.Credentials = new NetworkCredential("XXX", "XXX");
scMailServer.Host = "smtp.163.com";
scMailServer.Port = 25;
scMailServer.Send(msg);
}