C#郵件發送

目錄

郵件發送

說明

本文主要說明如何用 C# 語言來寫一個小功能————SMTP 郵件發送。並且本文中用的是網易126郵件服務器爲例。

SMTP 協議

首先,發送郵件的前提是發送方需支持簡單郵件傳輸協議( Simple Mail Transfer Protocol ),默認端口爲25。
進入126網易郵箱,在上方的導航欄中可以看到“設置”一欄,點擊後選擇 POP3/SMTP/IMAP 進入設置頁面。點擊開啓 SMTP 服務並保存即可(目前新申請的郵箱需要綁定手機號纔可開啓此功能)。

郵件服務器

常用的郵件服務器如下,只列出了一部分,具體可以去網上查詢。

常用郵件服務器名 POP3服務器地址 SMTP服務器地址
google.com pop.gmail.com smtp.gmail.com
sina.com pop3.sina.com.cn smtp.sina.com.cn
163.com pop.163.com smtp.163.com
126.com pop.126.com smtp.126.com
china.com pop.china.com smtp.china.com
sohu.com pop3.sohu.com smtp.sohu.com
yahoo.com pop.mail.yahoo.com smtp.mail.yahoo.com
google.com pop.gmail.com smtp.gmail.com

具體代碼

首先引用兩個命名空間

using System.Net;
using System.Net.Mail;


/// <summary>
/// 郵件發送
/// </summary>
/// <param name="toMail">收件人郵箱</param>
/// <param name="title">郵件標題</param>
/// <param name="body">郵件內容</param>
/// <param name="host">郵件服務器,例:"smtp.126.com"</param>
/// <param name="port">郵件服務器端口</param>
public void Send(string toMail, string title, string body, string host, int port)
{
    MailAddress from = new MailAddress(發件人郵箱, 發件人名字);
    // 設置收件人信箱,及顯示名字
    MailAddress to = new MailAddress(toMail, "admin");
    // 創建一個MailMessage對象
    MailMessage oMail = new MailMessage(from, to);

    oMail.Subject = title; // 郵件標題
    oMail.Body = body; // 郵件內容

    oMail.IsBodyHtml = true; // 指定郵件格式,支持HTML格式
    oMail.BodyEncoding = System.Text.Encoding.GetEncoding("GB2312"); // 郵件採用的編碼
    oMail.Priority = MailPriority.High; // 設置郵件的優先級爲高

    // 發送郵件服務器
    SmtpClient client = new SmtpClient();
    client.Host = host; // 指定郵件服務器
    client.Port = port; // 端口
    client.Credentials = new NetworkCredential(發件人郵箱, 郵箱SMTP授權密碼); // 指定服務器郵件,及郵箱SMTP授權密碼

    // 發送
    try
    {
        client.Send(oMail); // 發送郵件
    }
    catch (Exception e)
    {
        ...
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章