C#中用Smtp發郵件
這里使用SMTP發郵件,什麼是SMTP呢?SMTP:“Simple Mail Transfer Protocol”,即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。
要發送郵件,先了解郵件有哪些內容構成:
郵件服務器地址
端口
寄件人
收件人
副本人
密件人
標題
正文
附件
知道這些內容后,我們就知道在設置郵件時需要設置哪些東西了。
如何發呢?
發送郵件需使System.Net.Mail命名空间
使用其中的SmtpClient、MailMessage和Attachment三個類。
1. MailMessage:表示可以使用 SmtpClient 类发送的电子邮件。(郵件的信息)
2. Attachment:表示电子邮件的附件。
3. SmtpClient:允许应用程序使用简单邮件传输协议 (SMTP) 来发送电子邮件。
注:郵件中的內容與MailMessage中屬性的對應如下:
下邊來看一下代碼:
要發送郵件,先了解郵件有哪些內容構成:
郵件服務器地址
端口
寄件人
收件人
副本人
密件人
標題
正文
附件
知道這些內容后,我們就知道在設置郵件時需要設置哪些東西了。
如何發呢?
發送郵件需使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("XXX@chs.cymmetrik.com");
//標題
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 = "192.168.0.131";
//端口
scMailServer.Port = 25;
//發送郵件
scMailServer.Send(msg);
}
/// 發送郵件的基礎代碼(不需要設定寄件者賬戶及密碼)
/// </summary>
private static void SendMailBaseCode()
{
//實例化郵件信息類
MailMessage msg = new MailMessage();
//寄件人
msg.From = new MailAddress(MailSender);
//收件人
msg.To.Add("XXX@chs.cymmetrik.com");
//標題
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 = "192.168.0.131";
//端口
scMailServer.Port = 25;
//發送郵件
scMailServer.Send(msg);
}
/// <summary>
/// 發送郵件的基礎代碼(需要賬號)
/// </summary>
private static void SendMailNeedBaseCode()
{
MailMessage msg = new MailMessage();
msg.From = new MailAddress("XXX@163.com");
msg.To.Add("XXX@chs.cymmetrik.com");
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("XXX@163.com");
msg.To.Add("XXX@chs.cymmetrik.com");
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);
}