好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

C# SendMail发送邮件功能实现

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

  1、利用新浪邮箱发送

  2、利用公司邮箱发送

  3、利用CDO发送,这种方式要引用Interop.ADODB.dll(http://HdhCmsTestnodevice测试数据/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测试数据" );

 

   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测试数据");

 

  

   msg.CC.Add( "xxx@sina测试数据" );

 

   msg.From = new MailAddress( "xxx@sina测试数据" , "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测试数据" ;

   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测试数据/cdo/configuration/sendusing" ].Value = 2;

   MyFields[ @"http://schemas.microsoft测试数据/cdo/configuration/smtpserverport" ].Value = 465;

   MyFields[ @"http://schemas.microsoft测试数据/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 ;

   }

  }

  }

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

dy("nrwz");

查看更多关于C# SendMail发送邮件功能实现的详细内容...

  阅读:47次