C\#SendMail 메 일 발송 기능 구현

최근 메 일 을 보 내 는 곳 으로 자 료 를 조회 해 다음 과 같은 몇 가지 방법 을 정리 했다.
1.시 나 닷 컴 메 일 로 발송
2.회사 메 일 로 발송
3.CDO 를 이용 하여 발송 하 는데 이런 방식 은 Interop.ADODB.dllhttp://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("[email protected]");
  
  msg.CC.Add("[email protected]");

  msg.From = new MailAddress("[email protected]", "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("[email protected]", "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("[email protected]");
  //msg.To.Add("[email protected]");

  
  msg.CC.Add("[email protected]");

  msg.From = new MailAddress("[email protected]", "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 = "[email protected]";
  oMsg.To = "[email protected]";


  oMsg.Send();


  }
  catch (Exception ex)
  {
  return;
  }
 }
 }
}
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기