将System.Web.Mail转换为System.Net.Mail

时间:2014-06-12 19:09:45

标签: c# .net system.net.mail system.web.mail

我需要一些帮助将System.Web.Mail转换为System.Net.Mail以提供帮助 在某些表格上适当地发送电子邮件通知。

使用的旧代码段如下:

MailMessage NotificationEmail = new MailMessage();
NotificationEmail.BodyFormat = MailMessage.IsBodyHtml;
NotificationEmail.From = "RCHIPM@ttuhsc.edu";

//NotificationEmail.To = user;
NotificationEmail.To = "RCHIPM@ttuhsc.edu";

NotificationEmail.Subject = "Notification : ";
NotificationEmail.BodyFormat = MailFormat.Html;

我得到的一些错误包括:

1。)'System.Net.Mail.Message'不包含'BodyFormat'的定义,也没有扩展方法'BodyFormat'接受类型'System.Net.Mail.MailMessage'的第一个参数。

2.。)非静态字段,方法或属性'System.Net.Mail.MailMessage.IsBodyHTML.get'

需要对象引用

3.。)无法将类型'string'隐式转换为'System.Net.Mail.MailAddress

4.。)无法将属性或索引器'System.Net.Mail.MailMessage.To'分配给它 - 它是只读的。

......还有其他类似的错误。

我很确定其中大部分与我正在尝试解决的主要问题相关,而这只是试图将系统使用System.Web.Mail转换为System.Net.Mail。

我已经通过NuGet完成了所有可能的MVC和Telerik更新,所以这些都是最新的。我已经更新了所有参考文献,所以我知道这不再是一个问题。

我可能需要在Web.Config上更改一些内容,但我不太确定应该添加或修改哪些内容。我总是厌倦了编辑系统文件和程序集,以及人们对它们的提示,所以我尽量避免进行这些更改,除非它们是绝对必要的。

目前我在文件顶部使用System.Web.Mail和System.Net.Mail,因此它目前显示为:

使用System.Web.Mail;

使用System.Net.Mail;

...作为其库的一部分包括。 顺便说一下,系统使用.NET Framework 4。我应该尝试更新它吗? .NET Framework 4.5?

有没有人有更新此代码块的可能解决方案? 从搜索到这里看起来很多人都有类似的问题,但每个人的问题似乎都有来自论坛版主的混合结果/答案。

这就是为什么我提交这个问题只是为了看看我会得到什么样的回应。

希望这对你们来说足够了。 如果没有,请告诉我您是否需要其他信息,以便我能为您提供。

谢谢!

1 个答案:

答案 0 :(得分:3)

您的使用存在一些问题。这就是html电子邮件通常发送的方式:

var mail = new MailMessage();

//set address (not just a string)
mail.From = new MailAddress("RCHIPM@ttuhsc.edu");
mail.To.Add("destination@destination.com");

//set the subject
mail.Subject = "This is the subject";
//set the body
mail.Body = "some html <b>in</b> here".
mail.IsBodyHtml = true;

//send the message
var smtp = new SmtpClient("127.0.0.1"); // Loopback address
smtp.Send(mail);