9

SendGrid でメールを送信する

私のローカル (以下のコード) で問題なく動作します。SendGrid サポートには手がかりがありません。

例外の詳細: System.Net.Sockets.SocketException:

[SocketException (0x271d): アクセス許可で禁止されている方法でソケットにアクセスしようとしました]

CodeScales.Http.HttpClient.Navigate(HttpRequest リクエスト、HttpBehavior httpBehavior) +772 CodeScales.Http.HttpClient.Execute(HttpRequest リクエスト) +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;
    }
4

1 に答える 1

4

これは、SendGridの問題ではなく、ある種のWindowsAzureのバグのように見えます。これを修正するための私の2つの推奨事項は次のとおりです。

1.WebAPIの代わりにSMTPAPIを使用して電子メールを送信してみてください

アウトバウンドHTTP接続に問題がある可能性があります(これは本当に驚きますが、ちょっと、それは起こります)。

2.Azureが提供するコードを使用してみてください

Azureには、SendGridの使用方法に関するかなり優れたドキュメントがあります。それらを確認し、サンプルコードの一部を使用する価値があるかもしれません。

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

3.Azureサポートに連絡する

彼らは内部を見て、エラーを引き起こすためにあなたが何をしているのかを見ることができます。これを行う場合は、彼らがここで言っていることを必ず投稿してください。

于 2012-10-15T21:28:23.073 に答える