我正在尝试在asp.net网页(剃刀页面)和sql server 2017上实施smtp。应该在使用存储在sql数据库中的电子邮件地址提交表单后发送电子邮件通知,但我每次单击提交时,通知发送失败。 因此,我尝试通过添加断点来调试它,并进入smtp初始化程序。我发现电子邮件地址前后有一个逗号(,)。当我删除两个逗号时,会发送通知,但是我不知道如何永久删除它,而不必通过设置断点来使我的应用程序可以运行。
随附的是屏幕截图。
非常感谢您的帮助。
// Initialize WebMail helper
WebMail.SmtpServer = "smtp.office365.com";
WebMail.SmtpPort = 25;
WebMail.UserName = "help@me.please";
WebMail.Password = "Help123";
WebMail.From = "help@me.please";
WebMail.EnableSsl = true;
WebMail.Send(to: Email,
subject: "Visitor Alert",
body: " Hello: <br/> " + "Hope you're having a good time!);
答案 0 :(得分:1)
您的数据库中似乎有无效的条目,您应该进行验证,因为每个人都可能试图放入损坏的数据。另一种可能性是某些解析出错,导致数据损坏。
无论如何,要解决此特定情况,您可以调整电子邮件地址:
WebMail.Send(to: email.Trim(','),
subject: "Visitor Alert",
body: " Hello: <br/> " + "Hope you're having a good time!);
尽管如此,这只是解决了另一个潜在问题的症状。
答案 1 :(得分:1)
可行的方法如下:
// Initialize WebMail helper
WebMail.SmtpServer = "smtp.office365.com";
WebMail.SmtpPort = 25;
WebMail.UserName = "help@me.please";
WebMail.Password = "Help123";
WebMail.From = "help@me.please";
WebMail.EnableSsl = true;
WebMail.Send(to: Email.Replace(',',''),
subject: "Visitor Alert",
body: " Hello: <br/> " + "Hope you're having a good time!)";
我添加了一个
.Replace(',','')
这将从您收到的任何电子邮件中删除不需要的逗号