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

本文关键字:System Mail Net 转换 Web | 更新日期: 2023-09-27 18:08:27

我需要一些帮助将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 '。

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 Updates,所以这些都是最新的。我已经更新了所有的参考资料,所以我知道这不再是一个问题。

我可能需要在Web上更改一些东西。配置,但我不太确定应该添加或修改什么。我总是厌倦编辑系统文件和程序集,以及人们对它们的建议,所以我尽量避免做这些更改,除非它们是绝对必要的。

目前我在文件的顶部同时使用System.Web.Mail和System.Net.Mail,所以它现在是:

使用System.Web.Mail;

使用System.Net.Mail;

…作为它的库的一部分,包括。本系统使用。net Framework 4。我应该尝试更新到吗.NET Framework 4.5?

有没有人有任何可能的解决方案来更新这段代码?从这里的搜索来看,很多人都有类似的问题,但每个人的问题似乎都有不同的结果/论坛版主的答案。

所以这就是我提交这个问题的原因,只是想看看我会得到什么样的回应。

希望这对你们来说是足够的信息。如果没有,请让我知道你是否需要额外的信息,以便我可以提供给你。

谢谢!

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

您的用法有几个问题。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);