首页 > 编程 > C# > 正文

C# SendMail发送邮件功能实现

2020-01-24 00:35:49
字体:
来源:转载
供稿:网友

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

  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/">   ";  MailBody += dt.Columns[hcol].ColumnName;  MailBody += "   </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/">   ";   MailBody += dt.Rows[row][col].ToString();   MailBody += "   </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;  } } }}

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表