C#使用SMTP發送郵件方法

@zgcwkj  2017年12月22日

分類:

none 

附件是已經封裝好的類和這段代碼的結構稍微有點不同-20171222 1550

/// <summary>
/// 發送郵件
/// </summary>
/// <param name="host">服務器地址</param>
/// <param name="port">服務器端口</param>
/// <param name="user">發送者郵箱賬號</param>
/// <param name="password">發送者郵箱密碼</param>
/// <param name="to">接收者賬號</param>
/// <param name="title">標題</param>
/// <param name="body">內容</param>
/// <returns></returns>
public string MailSend(string host, string port, string user, string password, string to, string title, string body)
{
    if (host == "" || port == "" || user == "" || user == "" || password == "" || to == "" || title == "" || body == "")
    {
        return "The request parameters are incorrect";//請求參數不正確
    }
    int _port = 25; try { _port = Convert.ToInt32(port); } catch { }//如果傳遞的端口不是數字的將使用默認端口

    MailMessage message = new MailMessage();
    message.From = new MailAddress(user);//設置發件人
    message.To.Add(to);//設置收件人
    message.Subject = title;//設置郵件標題
    message.Body = body;//設置郵件內容

    SmtpClient client = new SmtpClient(host, _port);//設置郵件發送服務器
    client.EnableSsl = true;//Ssl狀態
    client.UseDefaultCredentials = false;//默認憑證
    client.DeliveryMethod = SmtpDeliveryMethod.Network;//設置郵件發送方式
    client.Credentials = new NetworkCredential(user, password);//設置發送人的郵箱賬號和密碼
    try
    {
        client.Send(message);//發送郵件
        return "Submitted successfully";//提交成功
    }
    catch (Exception e)
    {
        return e.Message;//返回錯誤原因
    }
}

以上代碼本人已經測試可以使用,如果有什麼不懂請提出來!

附件下載:GoMail.cs



評論已關閉

Top