首页 > 代码库 > C# SendMail 发送邮件

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 = http://www.mamicode.com/2;                MyFields[@"http://schemas.microsoft.com/cdo/configuration/smtpserverport"].Value = http://www.mamicode.com/465;                MyFields[@"http://schemas.microsoft.com/cdo/configuration/smtpserver"].Value = http://www.mamicode.com/"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;            }        }    }}

 

C# SendMail 发送邮件