使用SendGrid发送电子邮件 - 本地确定,远程不行

时间:2012-10-15 20:36:15

标签: sendgrid azure-web-sites

使用SendGrid发送电子邮件

在我的本地工作正常(下面的代码) 没有源代码控制,只是一个与AzureWebsites相同代码的直接WebDeploy,下面的错误。 SendGrid支持没有任何线索。

异常详情:System.Net.Sockets.SocketException:

[SocketException(0x271d):尝试以其访问权限禁止的方式访问套接字]

CodeScales.Http.HttpClient.Navigate(HttpRequest request,HttpBehavior httpBehavior)+772    CodeScales.Http.HttpClient.Execute(HttpRequest request)+45    SendGridMail.Transport.REST.Deliver(ISendGrid消息)+115

public bool SendEmail(string from, string to, string subject, string content)
  {
       var myMessage = SendGrid.GenerateInstance();
       // Setup the email properties.
       myMessage.From = new MailAddress(from);
       myMessage.AddTo(to);
       myMessage.Text = content;
       myMessage.Subject = subject;

       var username = "#####";
       var pswd = "#####";
        var credentials = new NetworkCredential(username, pswd);
        // Get REST instance for sending email.
        var transportREST = REST.GetInstance(credentials);

        // Send the email.
        transportREST.Deliver(myMessage);

        return true;
    }

1 个答案:

答案 0 :(得分:4)

这看起来像某种Windows Azure错误而不是SendGrid问题。我解决这个问题的两个建议是:

<强> 1。尝试使用SMTP API而不是Web API发送电子邮件

可能是出站HTTP连接有问题(这会让我感到惊讶,但是嘿,它会发生)。

<强> 2。尝试使用Azure提供的代码

Azure有关于如何使用SendGrid的相当不错的文档,可能值得一看这些并使用他们的一些示例代码。

http://www.windowsazure.com/en-us/develop/net/how-to-guides/sendgrid-email-service/

第3。联系Azure支持

他们可以深入了解并了解您正在做的导致错误的内容。如果你这样做,请确保你回复他们在这里说的话。