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


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

        private void button3_Click(object sender, EventArgs e)
        {
            int result = SendEmail("123456@qq.com", "123456", new string[] { "530794089@qq.com" }, "測試標題", "測試內容", "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#相關知識。關注我吧!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM