分享
 
 
 

利用System.Web.Mail 发送邮件

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

System.Web.Mail.SmtpMail.Send

调用了内部方法: SmtpMail.CdoSysHelper.Send(message);

CdoSysHelper.Send的内部方法实现为:

if ((text2 != null) || (message.Fields.Count > 0))

{

object obj4 = SmtpMail.LateBoundAccessHelper.GetPropStatic(obj1, "Configuration");

if (obj4 != null)

{

if (text2 != null)

{

SmtpMail.LateBoundAccessHelper.SetPropStatic(obj4, "Fields", "http://schemas.microsoft.com/cdo/configuration/sendusing", 2);

SmtpMail.LateBoundAccessHelper.SetPropStatic(obj4, "Fields", "http://schemas.microsoft.com/cdo/configuration/smtpserver", text2);

SmtpMail.LateBoundAccessHelper.SetPropStatic(obj4, "Fields", "http://schemas.microsoft.com/cdo/configuration/smtpserverport", 0x19);

}

foreach (DictionaryEntry entry1 in message.Fields)

{

SmtpMail.LateBoundAccessHelper.SetPropStatic(obj4, "Fields", (string) entry1.Key, entry1.Value);

}

object obj5 = SmtpMail.LateBoundAccessHelper.GetPropStatic(obj4, "Fields");

SmtpMail.LateBoundAccessHelper.CallMethodStatic(obj5, "Update", new object[0]);

Marshal.ReleaseComObject(obj5);

Marshal.ReleaseComObject(obj4);

}

}

因为如下的信息:

foreach (DictionaryEntry entry1 in message.Fields)

{

SmtpMail.LateBoundAccessHelper.SetPropStatic(obj4, "Fields", (string) entry1.Key, entry1.Value);

}

[/code]

故我们可以自己添加相关的CDO属性:

如使用需要认证的SMTP SERVER,则我们可以加入

MailMessage myMail = new MailMessage();

myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername",userName);

myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword",password);

这样就达到了认证的效果.

例子代码如下:

MailMessage myMail = new MailMessage();

myMail.From = emailFrom;

myMail.To = emailTo;

myMail.Subject = subject;

myMail.Body = sb.ToString();

myMail.BodyFormat = MailFormat.Html;

myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusing","2");

myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendemailaddress",emailFrom);

myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpuserreplyemailaddress",emailFrom);

myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpaccountname",userName);

myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername",Your 163.com's userName);

myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword",your 163.com's password);

myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate","1");

myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserver","smtp.163.com");

//SmtpMail.SmtpServer = "smtp.163.com";

SmtpMail.Send(myMail);

附CdoConfiguration相关属性参考:

public abstract class CdoConfiguration

{

// Fields

[MarshalAs(UnmanagedType.BStr)]

public const string cdoAutoPromoteBodyParts = "http://schemas.microsoft.com/cdo/configuration/autopromotebodyparts";

[MarshalAs(UnmanagedType.BStr)]

public const string cdoFlushBuffersOnWrite = "http://schemas.microsoft.com/cdo/configuration/flushbuffersonwrite";

[MarshalAs(UnmanagedType.BStr)]

public const string cdoHTTPCookies = "http://schemas.microsoft.com/cdo/configuration/httpcookies";

[MarshalAs(UnmanagedType.BStr)]

public const string cdoLanguageCode = "http://schemas.microsoft.com/cdo/configuration/languagecode";

[MarshalAs(UnmanagedType.BStr)]

public const string cdoNNTPAccountName = "http://schemas.microsoft.com/cdo/configuration/nntpaccountname";

[MarshalAs(UnmanagedType.BStr)]

public const string cdoNNTPAuthenticate = "http://schemas.microsoft.com/cdo/configuration/nntpauthenticate";

[MarshalAs(UnmanagedType.BStr)]

public const string cdoNNTPConnectionTimeout = "http://schemas.microsoft.com/cdo/configuration/nntpconnectiontimeout";

[MarshalAs(UnmanagedType.BStr)]

public const string cdoNNTPServer = "http://schemas.microsoft.com/cdo/configuration/nntpserver";

[MarshalAs(UnmanagedType.BStr)]

public const string cdoNNTPServerPickupDirectory = "http://schemas.microsoft.com/cdo/configuration/nntpserverpickupdirectory";

[MarshalAs(UnmanagedType.BStr)]

public const string cdoNNTPServerPort = "http://schemas.microsoft.com/cdo/configuration/nntpserverport";

[MarshalAs(UnmanagedType.BStr)]

public const string cdoNNTPUseSSL = "http://schemas.microsoft.com/cdo/configuration/nntpusessl";

[MarshalAs(UnmanagedType.BStr)]

public const string cdoPostEmailAddress = "http://schemas.microsoft.com/cdo/configuration/postemailaddress";

[MarshalAs(UnmanagedType.BStr)]

public const string cdoPostPassword = "http://schemas.microsoft.com/cdo/configuration/postpassword";

[MarshalAs(UnmanagedType.BStr)]

public const string cdoPostUserName = "http://schemas.microsoft.com/cdo/configuration/postusername";

[MarshalAs(UnmanagedType.BStr)]

public const string cdoPostUserReplyEmailAddress = "http://schemas.microsoft.com/cdo/configuration/postuserreplyemailaddress";

[MarshalAs(UnmanagedType.BStr)]

public const string cdoPostUsingMethod = "http://schemas.microsoft.com/cdo/configuration/postusing";

[MarshalAs(UnmanagedType.BStr)]

public const string cdoSaveSentItems = "http://schemas.microsoft.com/cdo/configuration/savesentitems";

[MarshalAs(UnmanagedType.BStr)]

public const string cdoSendEmailAddress = "http://schemas.microsoft.com/cdo/configuration/sendemailaddress";

[MarshalAs(UnmanagedType.BStr)]

public const string cdoSendPassword = "http://schemas.microsoft.com/cdo/configuration/sendpassword";

[MarshalAs(UnmanagedType.BStr)]

public const string cdoSendUserName = "http://schemas.microsoft.com/cdo/configuration/sendusername";

[MarshalAs(UnmanagedType.BStr)]

public const string cdoSendUserReplyEmailAddress = "http://schemas.microsoft.com/cdo/configuration/senduserreplyemailaddress";

[MarshalAs(UnmanagedType.BStr)]

public const string cdoSendUsingMethod = "http://schemas.microsoft.com/cdo/configuration/sendusing";

[MarshalAs(UnmanagedType.BStr)]

public const string cdoSMTPAccountName = "http://schemas.microsoft.com/cdo/configuration/smtpaccountname";

[MarshalAs(UnmanagedType.BStr)]

public const string cdoSMTPAuthenticate = "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate";

[MarshalAs(UnmanagedType.BStr)]

public const string cdoSMTPConnectionTimeout = "http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout";

[MarshalAs(UnmanagedType.BStr)]

public const string cdoSMTPServer = "http://schemas.microsoft.com/cdo/configuration/smtpserver";

[MarshalAs(UnmanagedType.BStr)]

public const string cdoSMTPServerPickupDirectory = "http://schemas.microsoft.com/cdo/configuration/smtpserverpickupdirectory";

[MarshalAs(UnmanagedType.BStr)]

public const string cdoSMTPServerPort = "http://schemas.microsoft.com/cdo/configuration/smtpserverport";

[MarshalAs(UnmanagedType.BStr)]

public const string cdoSMTPUseSSL = "http://schemas.microsoft.com/cdo/configuration/smtpusessl";

[MarshalAs(UnmanagedType.BStr)]

public const string cdoURLGetLatestVersion = "http://schemas.microsoft.com/cdo/configuration/urlgetlatestversion";

[MarshalAs(UnmanagedType.BStr)]

public const string cdoURLProxyBypass = "http://schemas.microsoft.com/cdo/configuration/urlproxybypass";

[MarshalAs(UnmanagedType.BStr)]

public const string cdoURLProxyServer = "http://schemas.microsoft.com/cdo/configuration/urlproxyserver";

[MarshalAs(UnmanagedType.BStr)]

public const string cdoUseMessageResponseText = "http://schemas.microsoft.com/cdo/configuration/usemessageresponsetext";

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有