我需要一些帮助将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’的定义,也找不到接受'System.Net.Mail.MailMessage‘类型的第一个参数的扩展方法'BodyFormat’。
2.)非静态字段、方法或属性“System.Net.Mail.MailMessage.IsBodyHTML.get”需要对象引用。
3.)不能隐式地将类型'string‘转换为'System.Net.Mail.MailAddress’
4.)属性或索引器'System.Net.Mail.MailMessage.To‘不能分配给--它是只读的。
...amongst其他类似的错误也在发生。
我非常肯定,其中大多数都与我试图解决的主要问题有关,即试图将使用System.Web.Mail的系统转换为System.Net.Mail。
我已经通过NuGet完成了MVC和Telerik的所有更新,所以这些都是最新的。我已经更新了所有的参考资料,所以我知道这不再是一个问题。
我可能需要在Web.Config上修改一些东西,但我不太确定应该添加或修改什么。我总是厌倦编辑系统文件和程序集,以及人们对它们的提示,所以我尽量避免进行这些更改,除非它们是绝对必要的。
目前,我在文件的顶部同时使用System.Web.Mail和System.Net.Mail,因此它当前的内容如下:
使用System.Web.Mail;
使用System.Net.Mail;
...as库的一部分包括。顺便说一下,该系统使用了.NET框架4。我是否应该尝试将其更新到.NET Framework4.5?
有人有任何可能的解决方案来更新这个代码块吗?从这里的搜索看来,一群人都有类似的问题,但每个人的问题似乎都有来自论坛主持人的不同结果/答案。
这就是为什么我提出这个问题只是为了看看我会得到什么样的答复。
希望这对你们来说是足够的信息。如果没有,请告诉我,如果您需要更多的信息,我可以提供给您。
谢谢!
发布于 2014-06-12 19:13:55
您的用法有几个问题。通常是这样发送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);https://stackoverflow.com/questions/24192128
复制相似问题