C# SendMail發(fā)送郵件功能實現(xiàn)
更新時間:2017年06月30日 14:18:08 作者:shaomine
這篇文章主要為大家詳細介紹了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)權交易平臺•影視項目路演季---路演項目征集" + i;
dr["date"] = "2017-06-30";
dr["area"] = "北京市 北京電影學院文創(chuàng)園(平房園區(qū))" + i;
dr["orgnizer"] = "北文中心影視產(chǎ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# 兩種發(fā)送郵件的方法
- c# 實現(xiàn)發(fā)送郵件到指定郵箱
- c# 實現(xiàn)發(fā)送郵件的功能
- C# 服務器發(fā)送郵件失敗實例分析
- C#實現(xiàn)QQ郵箱發(fā)送郵件
- C#實現(xiàn)發(fā)送郵件的方法
- 通過C#實現(xiàn)發(fā)送自定義的html格式郵件
- C#實現(xiàn)的自定義郵件發(fā)送類完整實例(支持多人多附件)
- C#編程實現(xiàn)發(fā)送郵件的方法(可添加附件)
- C#實現(xiàn)發(fā)送郵件的三種方法
- c#利用system.net發(fā)送html格式郵件
- c#實現(xiàn)服務器性能監(jiān)控并發(fā)送郵件保存日志
- c#調(diào)用qq郵箱smtp發(fā)送郵件修改版代碼分享
- C#調(diào)用QQ_Mail發(fā)送郵件實例代碼兩例
相關文章
C#多線程編程之使用ReaderWriterLock類實現(xiàn)多用戶讀與單用戶寫同步的方法
這篇文章主要介紹了C#多線程編程之使用ReaderWriterLock類實現(xiàn)多用戶讀與單用戶寫同步的方法,涉及C#多線程操作讀寫鎖定的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-11-11
C#數(shù)據(jù)綁定(DataBinding)簡單實現(xiàn)方法
這篇文章主要介紹了C#數(shù)據(jù)綁定(DataBinding)簡單實現(xiàn)方法,以簡單實例形式簡單分析了C#實現(xiàn)數(shù)據(jù)綁定與讀取的方法,具有一定參考借鑒價值,需要的朋友可以參考下2015-08-08

