码迷,mamicode.com
首页 > Windows程序 > 详细

C# SendMail 发送邮件

时间:2017-06-30 15:39:13      阅读:252      评论:0      收藏:0      [点我收藏+]

标签:odi   ogr   targe   date   xxx   www   count   tle   port   

  最近因为用的发送邮件的地方,就查询了资料,总结以下几个方法

  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;
            }
        }
    }
}

 

C# SendMail 发送邮件

标签:odi   ogr   targe   date   xxx   www   count   tle   port   

原文地址:http://www.cnblogs.com/shaosks/p/7098583.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!