我需要一些帮助将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?
有没有人有更新此代码块的可能解决方案? 从搜索到这里看起来很多人都有类似的问题,但每个人的问题似乎都有来自论坛版主的混合结果/答案。
这就是为什么我提交这个问题只是为了看看我会得到什么样的回应。
希望这对你们来说足够了。 如果没有,请告诉我您是否需要其他信息,以便我能为您提供。
谢谢!
答案 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);