要發送郵件,先了解郵件有哪些內容構成:
郵件服務器地址
端口
寄件人
收件人
副本人
密件人
標題
正文
附件
知道這些內容后,我們就知道在設置郵件時需要設置哪些東西了。
如何發呢?
發送郵件需使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);
}