将经典ASP电子邮件代码更新为c#Asp.Net

时间:2014-10-22 22:48:46

标签: c# asp.net asp-classic smtp cdo.message

我写过许多发送电子邮件的应用,通常我会创建一个SMTP客户端,使用用户名和密码进行身份验证,这就是它!我现在正在更新一些旧的经典ASP代码,他们发送了这样的电子邮件:

Set objMessage      = Server.CreateObject("CDO.Message")
objMessage.To       = strTo
objMessage.From     = strFrom
objMessage.Bcc      = strBcc
objMessage.Subject  = strSubject
objMessage.TextBody = strBody
objMessage.Send
Set objMessage      = Nothing

我已经谷歌发现显然很久以前就弃用了CDO对象,

我的问题是:

上面的代码是否真的能够在不创建某种类型的带有身份验证的客户端的情况下发送电子邮件?什么是使用c#4.5 ??

更新此代码的最佳方法

1 个答案:

答案 0 :(得分:5)

CDO是一个ActiveX组件。它没有专门为ASP创建,但它几乎成了将电子邮件提交到ASP应用程序的事实上的方式。它成为您的SMTP客户端,通常使用本地SMTP服务器将电子邮件中继到另一个SMTP服务器以进行向前传输。

要使用C#在.Net 4.5的土地上发送电子邮件,请使用

//Create a Smtp client, these settings can be set in the web.config and
//you can use the parameterless constructor
SmtpClient client=new SmtpClient("some.server.com");
//If you need to authenticate
client.Credentials=new NetworkCredential("username", "password");

//Create the message to send
MailMessage mailMessage = new MailMessage();
mailMessage.From = "someone@somewhere.com";
mailMessage.To.Add("someone.else@somewhere-else.com");
mailMessage.Subject = "Hello There";
mailMessage.Body = "Hello my friend!";

//Send the email
client.Send(mailMessage);