程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#,簡單的郵件發送功能,郵件輔助類,

C#,簡單的郵件發送功能,郵件輔助類,

編輯:C#入門知識

C#,簡單的郵件發送功能,郵件輔助類,


這個幫助類只能發送簡單的基本郵件,只能發送給多個用戶,單一內容。不具有抄送功能,附件添加功能。功能代碼如下,

        private void button3_Click(object sender, EventArgs e)
        {
            int result = SendEmail("[email protected]", "123456", new string[] { "[email protected]" }, "測試標題", "測試內容", "smtp.qq.com");
            MessageBox.Show(result.ToString());
        }
        ///<summary>
        /// 發送郵件
        ///</summary>
        ///<param name="sendEmailAddress">發件人郵箱</param>
        ///<param name="sendEmailPwd">發件人密碼</param>
        ///<param name="msgToEmail">收件人郵箱地址</param>
        ///<param name="title">郵件標題</param>
        ///<param name="content">郵件內容</param>
        ///<param name="host">郵件SMTP服務器</param>
        ///<returns>0:失敗。1:成功!</returns>

        public static int SendEmail(string sendEmailAddress, string sendEmailPwd, string[] msgToEmail, string title, string content, string host)
        {
            //發件者郵箱地址
            string fjrtxt = sendEmailAddress;
            //發件者郵箱密碼
            string mmtxt = sendEmailPwd;
            //主題
            string zttxt = title;
            //內容
            string nrtxt = content;
            string[] fasong = fjrtxt.Split('@');
            //設置郵件協議
            SmtpClient client = new SmtpClient(host);   //System.Net.Mail.SmtpClient
            client.UseDefaultCredentials = false;
            //通過網絡發送到Smtp服務器
            client.DeliveryMethod = SmtpDeliveryMethod.Network;
            //通過用戶名和密碼 認證
            client.Credentials = new NetworkCredential(fasong[0].ToString(), mmtxt);  //System.Net.NetworkCredential
            //QQ郵箱使用ssl加密,需要設置SmtpClient.EnableSsl 屬性為True表示“指定 SmtpClient 使用安全套接字層 (SSL) 加密連接。”
            client.EnableSsl = true;

            //發件人和收件人的郵箱地址
            MailMessage mmsg = new MailMessage();
            mmsg.From = new MailAddress(fjrtxt);
            for (int i = 0; i < msgToEmail.Length; i++)
            {
                mmsg.To.Add(new MailAddress(msgToEmail[i]));
            }
            //郵件主題
            mmsg.Subject = zttxt;
            //主題編碼
            mmsg.SubjectEncoding = Encoding.UTF8;
            //郵件正文
            mmsg.Body = nrtxt;
            //正文編碼
            mmsg.BodyEncoding = Encoding.UTF8;
            //設置為HTML格式
            mmsg.IsBodyHtml = true;
            //優先級
            mmsg.Priority = MailPriority.High;
            try
            {
                client.Send(mmsg);
                return 1;
            }
            catch (Exception exss)
            {
                string msg = exss.Message;
                return 0;
            }
        }

值得注意的是,使用QQ郵箱時,發件人密碼使用的是QQ郵箱獨立密碼

在winform程序測試有效,關於在web頁面使用,有待測試。

歡迎大家一起來和我討論C#相關知識。關注我吧!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved