使用SendGrid SMTP电子邮件提交错误请求错误

Ter*_*ato 4 c# asp.net asp.net-mvc-4 .net-4.5

我目前在MVC4 ASP.NET 4.5中使用C#.

我的应用程序创建一个用户,然后提交注册电子邮件到该用途以验证他们的电子邮件.要创建此脚本,我按照本教程:如何使用SendGrid与Windows Azure发送电子邮件

我使用的是最新版本的SendGrid(2.1.1)

使用的特定于代码的命名空间:

using SendGridMail;
using System.Net;
using System.Net.Mail;
Run Code Online (Sandbox Code Playgroud)

这是我创建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
Run Code Online (Sandbox Code Playgroud)

然后我去发送电子邮件:

//Create login info for email
NetworkCredential credentials = new NetworkCredential("username", "password");
var trasnportSMTP = Web.GetInstance(credentials);
trasnportSMTP.Deliver(message); //smtp.sendgrid.net Send message
Run Code Online (Sandbox Code Playgroud)

在最后一行"trasnportSMTP.Deliver(message);" 我收到此错误:

'/'应用程序中的服务器错误.

错误的请求

描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.

异常详细信息: System.Exception:错误请求

我在跟踪时注意到的唯一事情是在"查看详细信息"和"输出"窗口中的"异常快照"中.

我注意到:TargetSite = {无效CheckForErrors(System.Net.Http.HttpResponseMessage)},返回类型为{名称= "空白" 全名= "System.Void"},ReflectedType是{名称= "网络" 全名="SendGridMail .Web"},CustomAttributes - Count = 0,Name ="CheckForErrors",它在模块{SendGridMail.dll}中.

同样在我的输出中,有以下内容:"System.dll中出现类型'System.FormatException'的第一次机会异常步入:跨越非用户代码'SendGridMail.Web.Deliver'"

任何人都可以让我更深入地了解为什么会发生这种错误.我使用Azure上的SendGrid帐户上的正确用户名和密码.

提前谢谢你.

小智 10

尝试将主题添加到您的邮件中

message.Subject = "this is the subject";
Run Code Online (Sandbox Code Playgroud)

应该这样做,我在玩这个库时遇到了同样的问题.

  • 哇,对于一个缺失的主题,这是一个令人敬畏的混淆错误. (4认同)
  • null或空文本也是一样的. (2认同)