最近因为用的发送邮件的地方,就查询了资料,总结以下几个方法
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\"> " ;
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测试数据" );
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发送邮件功能实现的详细内容...