C# SendMail 發送郵件


  最近因為用的發送郵件的地方,就查詢了資料,總結以下幾個方法

  1、利用新浪郵箱發送

  2、利用公司郵箱發送

  3、利用CDO發送,這種方式要引用Interop.ADODB.dll(http://www.nodevice.com/dll/Interop_ADODB_dll/item20357.html)和Interop.CDO.dll()兩個文件

  具體代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net.Mail;
using System.Data;

using CDO;
using ADODB;
namespace SendMailTest
{
    class Program
    {
        static void Main(string[] args)
        {
            SendMail();
        }

        public static string SendMsg()
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("name");
            dt.Columns.Add("date");
            dt.Columns.Add("area");
            dt.Columns.Add("orgnizer");
            dt.Columns.Add("keyword");

            for (int i = 0; i < 10; i++)
            {
                DataRow dr = dt.NewRow();
                dr["name"] = "北文中心影視產權交易平台•影視項目路演季---路演項目征集" + i;
                dr["date"] = "2017-06-30";
                dr["area"] = "北京市 北京電影學院文創園(平房園區)" + i;
                dr["orgnizer"] = "北文中心影視產權交易" + i;
                dr["keyword"] = "影視" + i;
                dt.Rows.Add(dr);

            }

            string MailBody = "<p style=\"font-size: 10pt\">以下內容為系統自動發送,請勿直接回復,謝謝。</p><table cellspacing=\"1\" cellpadding=\"3\" border=\"0\" bgcolor=\"000000\" style=\"font-size: 10pt;line-height: 15px;\">";
            MailBody += "<div align=\"center\">";
            MailBody += "<tr>";
            for (int hcol = 0; hcol < dt.Columns.Count; hcol++)
            {
                MailBody += "<td bgcolor=\"999999\">&nbsp;&nbsp;&nbsp;";
                MailBody += dt.Columns[hcol].ColumnName;
                MailBody += "&nbsp;&nbsp;&nbsp;</td>";
            }
            MailBody += "</tr>";

            for (int row = 0; row < dt.Rows.Count; row++)
            {
                MailBody += "<tr>";
                for (int col = 0; col < dt.Columns.Count; col++)
                {
                    MailBody += "<td bgcolor=\"dddddd\">&nbsp;&nbsp;&nbsp;";
                    MailBody += dt.Rows[row][col].ToString();
                    MailBody += "&nbsp;&nbsp;&nbsp;</td>";
                }
                MailBody += "</tr>";
            }
            MailBody += "</table>";
            MailBody += "</div>";
            return MailBody;
        }

        public static void SendMail()
        {
            MailMessage msg = new MailMessage();
            msg.To.Add("xxx@ctrchina.cn");
         
            msg.CC.Add("xxxx@sina.com");

            msg.From = new MailAddress("ffff@ctrchina.cn", "ffff", System.Text.Encoding.UTF8);
            /* 上面3個參數分別是發件人地址(可以隨便寫),發件人姓名,編碼*/
            msg.Subject = "這是測試郵件";//郵件標題  
            msg.SubjectEncoding = System.Text.Encoding.UTF8;//郵件標題編碼  
            //msg.Body = "郵件內容";//郵件內容  
            msg.Body = SendMsg();

            msg.BodyEncoding = System.Text.Encoding.UTF8;//郵件內容編碼  
            msg.IsBodyHtml = true;//是否是HTML郵件  
            msg.Priority = MailPriority.High;//郵件優先級 

            SmtpClient client = new SmtpClient();
            //client.Host = "smtp.ctrchina.cn";
            client.Host = "210.77.136.200";
            client.Port = 465;
            //client.EnableSsl = true;//經過ssl加密  
            client.Credentials = new System.Net.NetworkCredential("xxx@ctrchina.cn", "password");
            object userState = msg;
            try
            {
                //client.SendAsync(msg, userState);
                client.Send(msg);


            }
            catch (System.Net.Mail.SmtpException ex)
            {
                return;
            }
        }

        public static void SendSinaMail()
        {
            MailMessage msg = new MailMessage();
            msg.To.Add("xxx@ctrchina.cn");
            //msg.To.Add("xxx@sina.com");

           
            msg.CC.Add("xxx@sina.com");

            msg.From = new MailAddress("xxx@sina.com", "shao_sks", System.Text.Encoding.UTF8);
            /* 上面3個參數分別是發件人地址(可以隨便寫),發件人姓名,編碼*/
            msg.Subject = "這是測試郵件";//郵件標題  
            msg.SubjectEncoding = System.Text.Encoding.UTF8;//郵件標題編碼  
            //msg.Body = "郵件內容";//郵件內容  
            msg.Body = SendMsg();

            msg.BodyEncoding = System.Text.Encoding.UTF8;//郵件內容編碼  
            msg.IsBodyHtml = true;//是否是HTML郵件  
            msg.Priority = MailPriority.High;//郵件優先級 

            SmtpClient client = new SmtpClient();
            client.Host = "smtp.sina.com";
            client.Port = 25;
            //client.EnableSsl = true;//經過ssl加密  
            client.Credentials = new System.Net.NetworkCredential("username", "password");
            object userState = msg;
            try
            {
                //client.SendAsync(msg, userState);
                client.Send(msg);


            }
            catch (System.Net.Mail.SmtpException ex)
            {
                return;
            }
        }

        public static void SenMail1()
        {
            try
            {
                CDO.Message oMsg = new CDO.Message();

                Configuration MyConfig = new ConfigurationClass();
                Fields MyFields = MyConfig.Fields;
                MyFields[@"http://schemas.microsoft.com/cdo/configuration/sendusing"].Value = 2;
                MyFields[@"http://schemas.microsoft.com/cdo/configuration/smtpserverport"].Value = 465;
                MyFields[@"http://schemas.microsoft.com/cdo/configuration/smtpserver"].Value = "210.77.136.200";
                MyFields.Update();

                oMsg.Configuration = MyConfig;

                oMsg.Subject = "Test SMTP2911111";
                oMsg.HTMLBody = SendMsg();

                oMsg.From = "shaoks@ctrchina.cn";
                oMsg.To = "shaoks@ctrchina.cn";


                oMsg.Send();


            }
            catch (Exception ex)
            {
                return;
            }
        }
    }
}

 


免責聲明!

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



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