C# SendMail發(fā)送郵件功能實現(xiàn)
最近因為用的發(fā)送郵件的地方,就查詢了資料,總結(jié)以下幾個方法
1、利用新浪郵箱發(fā)送
2、利用公司郵箱發(fā)送
3、利用CDO發(fā)送,這種方式要引用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"] = "北文中心影視產(chǎn)權(quán)交易平臺•影視項目路演季---路演項目征集" + i;
  dr["date"] = "2017-06-30";
  dr["area"] = "北京市 北京電影學院文創(chuàng)園(平房園區(qū))" + i;
  dr["orgnizer"] = "北文中心影視產(chǎn)權(quán)交易" + i;
  dr["keyword"] = "影視" + i;
  dt.Rows.Add(dr);
  }
  string MailBody = "<p style=\"font-size: 10pt\">以下內(nèi)容為系統(tǒng)自動發(fā)送,請勿直接回復,謝謝。</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個參數(shù)分別是發(fā)件人地址(可以隨便寫),發(fā)件人姓名,編碼*/
  msg.Subject = "這是測試郵件";//郵件標題 
  msg.SubjectEncoding = System.Text.Encoding.UTF8;//郵件標題編碼 
  //msg.Body = "郵件內(nèi)容";//郵件內(nèi)容 
  msg.Body = SendMsg();
  msg.BodyEncoding = System.Text.Encoding.UTF8;//郵件內(nèi)容編碼 
  msg.IsBodyHtml = true;//是否是HTML郵件 
  msg.Priority = MailPriority.High;//郵件優(yōu)先級 
  SmtpClient client = new SmtpClient();
  //client.Host = "smtp.ctrchina.cn";
  client.Host = "210.77.136.200";
  client.Port = 465;
  //client.EnableSsl = true;//經(jīng)過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個參數(shù)分別是發(fā)件人地址(可以隨便寫),發(fā)件人姓名,編碼*/
  msg.Subject = "這是測試郵件";//郵件標題 
  msg.SubjectEncoding = System.Text.Encoding.UTF8;//郵件標題編碼 
  //msg.Body = "郵件內(nèi)容";//郵件內(nèi)容 
  msg.Body = SendMsg();
  msg.BodyEncoding = System.Text.Encoding.UTF8;//郵件內(nèi)容編碼 
  msg.IsBodyHtml = true;//是否是HTML郵件 
  msg.Priority = MailPriority.High;//郵件優(yōu)先級 
  SmtpClient client = new SmtpClient();
  client.Host = "smtp.sina.com";
  client.Port = 25;
  //client.EnableSsl = true;//經(jīng)過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;
  }
 }
 }
}
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持我們。
上一篇:C#圖片處理類分享
欄 目:C#教程
下一篇:C#編程調(diào)用Cards.dll實現(xiàn)圖形化發(fā)牌功能示例
本文標題:C# SendMail發(fā)送郵件功能實現(xiàn)
本文地址:http://www.jygsgssxh.com/a1/C_jiaocheng/5629.html
您可能感興趣的文章
- 01-10C#編程實現(xiàn)發(fā)送郵件的方法(可添加附件)
 - 01-10C#怎么實現(xiàn)手機短信發(fā)送功能
 - 01-10C#實現(xiàn)的自定義郵件發(fā)送類完整實例(支持多人多附件)
 - 01-10使用C#編寫簡單的圖形化的可發(fā)送附件的郵件客戶端程序
 - 01-10使用C#發(fā)送帶附件的電子郵件的方法的代碼示例分析
 - 01-10C#簡單郵件群發(fā)通用類
 - 01-10C#簡單實現(xiàn)在網(wǎng)頁上發(fā)郵件的案例
 - 01-10C#向無窗口的進程發(fā)送消息
 - 01-10在WinForm中發(fā)送HTTP請求的實現(xiàn)方法
 - 01-10C#模擬http 發(fā)送post或get請求的簡單實例
 


閱讀排行
本欄相關(guān)
- 01-10C#通過反射獲取當前工程中所有窗體并
 - 01-10關(guān)于ASP網(wǎng)頁無法打開的解決方案
 - 01-10WinForm限制窗體不能移到屏幕外的方法
 - 01-10WinForm繪制圓角的方法
 - 01-10C#實現(xiàn)txt定位指定行完整實例
 - 01-10WinForm實現(xiàn)仿視頻播放器左下角滾動新
 - 01-10C#停止線程的方法
 - 01-10C#實現(xiàn)清空回收站的方法
 - 01-10C#通過重寫Panel改變邊框顏色與寬度的
 - 01-10C#實現(xiàn)讀取注冊表監(jiān)控當前操作系統(tǒng)已
 
隨機閱讀
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
 - 01-10使用C語言求解撲克牌的順子及n個骰子
 - 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
 - 01-11ajax實現(xiàn)頁面的局部加載
 - 01-10delphi制作wav文件的方法
 - 01-10C#中split用法實例總結(jié)
 - 08-05DEDE織夢data目錄下的sessions文件夾有什
 - 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
 - 04-02jquery與jsp,用jquery
 - 08-05織夢dedecms什么時候用欄目交叉功能?
 


