5

Web API を使用して Sendgrid で「安全な」メールを送信できません。(プラットフォーム - .Net/C#、SendgridMail)

http url (http://sendgrid.com/api/mail.send) では問題なく動作しますが、https (https://sendgrid.com/api/mail.send) では失敗します。

   private void SendMail()
    {
        var message = SendGrid.GenerateInstance();

        //set the message recipients
        message.AddTo("to@sonedomain.com1");

        //set the sender
        message.From = new MailAddress("from@somedomain.com1");

        //set the message body
        message.Html = "<html><p>Hello</p><p>World</p></html>";

        //set the message subject
        message.Subject = "Hello World HTML Test";

        //create an instance of the Web transport mechanism
        var transportInstance = SendGridMail.Transport.REST.GetInstance(new NetworkCredential("myusername", "mypassword"),"https://sendgrid.com/api/mail.send");

        //send the mail
        transportInstance.Deliver(message);
    }

ArgumentException: Unknown element: html が発生します。

コードをさらに掘り下げると、次のエラーが表示されます。


上記の GetInstance関数では、(https://sendgrid.com/api/mail.send) の代わりにhttp url : (http://sendgrid.com/api/mail.send) を使用しても問題なく動作します。

ブラウザ経由で電子メール リクエストを送信すると問題なく動作します: 3E%20test%20SG%20api%20body&api_user=sendgridusername&api_key=sendgridpassword)

これに関するヘルプをいただければ幸いです。

4

1 に答える 1

4

SendGridで働いています。私はいくつかのテストを行いましたが、これは C# ラッパー、特に HTTP 呼び出しを行うために使用されている CodeScales ライブラリの制限です。残念ながら、CodeScales は HTTPS をまったくサポートしていません。これについては、GitHub で問題を公開しました: https://github.com/sendgrid/sendgrid-csharp/issues/21

API 呼び出しを行うために RestSharp を使用するようにアプリをリファクタリングする計画を開始します。ご迷惑おかけして申し訳ありません!

于 2013-01-11T21:58:52.513 に答える