我目前在 MVC4 ASP.NET 4.5 中使用 C#。
我的应用程序创建了一个用户,然后向该用户提交了一封注册电子邮件,用于验证他们的电子邮件。为了创建这个脚本,我遵循了这个教程:How to Send Email Using SendGrid with Windows Azure
我正在使用最新版本的 SendGrid (2.1.1)
正在使用的代码特定命名空间:
using SendGridMail;
using System.Net;
using System.Net.Mail;
这是我创建 SendGrid 邮件消息的代码:
SendGrid message = SendGrid.GetInstance();
message.From = new MailAddress(fromEmail); //fromEmail is a MailAddress type
message.AddTo(userName); //this is a string
message.Html = body; //this is also a string
然后我去发邮件:
//Create login info for email
NetworkCredential credentials = new NetworkCredential("username", "password");
var trasnportSMTP = Web.GetInstance(credentials);
trasnportSMTP.Deliver(message); //smtp.sendgrid.net Send message
在“trasnportSMTP.Deliver(message);”的最后一行我收到此错误:
Server Error in '/' Application.
Bad Request
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Exception: Bad Request
我在跟踪过程中唯一注意到的是查看详细信息和输出窗口中的异常快照。
我注意到: TargetSite = {Void CheckForErrors(System.Net.Http.HttpResponseMessage)}, ReturnType 是 {Name = "Void"FullName = "System.Void"}, ReflectedType 是 {Name = "Web"FullName = "SendGridMail.Web"}, 自定义属性 - 计数 = 0, 名称 = "CheckForErrors", 它位于模块 {SendGridMail.dll} 中。
在我的输出中,还有以下内容:
"A first chance exception of type
'System.FormatException'
occurred in System.dll Step into: Stepping over non-user code'SendGridMail.Web.Deliver'
"
任何人都可以让我更深入地了解为什么会发生此错误。我使用的是 Azure 上 SendGrid 帐户上的正确用户名和密码。
提前谢谢你。
最佳答案
尝试将主题添加到您的消息中
message.Subject = "this is the subject";
应该可以了,我在玩这个库的时候遇到了同样的问题。
关于c# - 使用 SendGrid SMTP 电子邮件提交时出现 Bad Request 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21892185/