用System.Net.Mail發送郵件

轉自:http://blog.jailu.cn/2007/04/system_net_mail/


最近有不少朋友詢問關於如何在.NET 2.0中發送郵件的問題,這裏寫一個簡單的例子供朋友參考。

MSDN參考:
SmtpClient(http://msdn2.microsoft.com/zh-cn/library/system.net.mail.smtpclient(VS.80).aspx)
MailMessage(http://msdn2.microsoft.com/zh-cn/library/system.net.mail.mailmessage(VS.80).aspx)

下面是一段簡單的發郵件代碼(控制檯程序):

using System;
using System.Collections.Generic;
using System.Text;

using System.Net.Mail;

namespace MailSender
{
    class Program
    {
        static string strHost = string.Empty;
        static string strAccount = string.Empty;
        static string strPwd = string.Empty;
        static string strFrom = string.Empty;

        static void Main(string[] args)
        {
            strHost = "smtp.163.com";   //STMP服務器地址
            strAccount = "****";       //SMTP服務帳號
            strPwd = "123456789";       //SMTP服務密碼
            strFrom = "***@163.com";  //發送方郵件地址

            Console.WriteLine(sendMail("***@qq.com", "這是一封測試郵件", "這是一封測試郵件的正文內容") ? "Success" : "Unsuccess");

            Console.ReadLine();
        }

        /// <summary>
        /// 發送郵件
        /// </summary>
        /// <param name="to">接收方郵件地址</param>
        /// <param name="title">郵件標題</param>
        /// <param name="content">郵件正文內容</param>
        /// <returns></returns>
        /// <author>Jailu</author>
        /// <date>2007-04-10</date>
        static bool sendMail(string to, string title, string content)
        {
            SmtpClient _smtpClient = new SmtpClient();
            _smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定電子郵件發送方式
            _smtpClient.Host = strHost; ;//指定SMTP服務器
            _smtpClient.Credentials = new System.Net.NetworkCredential(strAccount, strPwd);//用戶名和密碼

            MailMessage _mailMessage = new MailMessage(strFrom,to);
            _mailMessage.Subject = title;//主題
            _mailMessage.Body = content;//內容
            _mailMessage.BodyEncoding = System.Text.Encoding.UTF8;//正文編碼
            _mailMessage.IsBodyHtml = true;//設置爲HTML格式
            _mailMessage.Priority = MailPriority.High;//優先級

            try
            {
                _smtpClient.Send(_mailMessage);
                return true;
            }
            catch
            {
                return false;
            }
        }
    }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章