2017-01-04 2 views
1

私は電子メールを送信するためにsendgridを使用しています。私はsendgridポータルで送信されたメールの活動を見ることができます。今、私はそれらの活動を私のC#コードで追跡したいと思います。メールに起こったように - >届いた、またはバウンスまたはブロックされた解決策はありますか?C#コードで電子メールアクティビティを追跡する

答えて

1

Sendgrid Eventsを使用することは可能ですが、それはかなり簡単です。

あなたがイベントを受け取る方法を決めることができhttps://sendgrid.com/docs/API_Reference/Webhooks/event.html

をチェックアウト、私の場合、私はJSONを選択しました。あなたがいる限り望むようにアクションに名前を付けることは自由です

[HttpPost] 
[AllowAnonymous] 
public async Task<IActionResult> IncomingNotification([FromBody] EmailEvent[] events) 
{ 
    // be prepared to handle an array of events as sendgrid can send batches 
} 

public class EmailEvent 
{ 
    [JsonProperty("sg_message_id")] 
    public string MessageId { get; set; } 

    [JsonProperty("email")] 
    public string Email { get; set; } 

    [JsonProperty("timestamp")] 
    public long Timestamp { get; set; } 

    [JsonProperty("smtp-id")] 
    public string smtpid { get; set; } 

    [JsonProperty("event")] 
    public string Event { get; set; } 

    [JsonProperty("url")] 
    public string Url { get; set; } 

    [JsonProperty("category")] 
    public string Category { get; set; } 

    [JsonProperty("userid")] 
    public string UserId { get; set; } 
} 

などコントローラのアクション:あなたのC#のWebアプリケーションで

は、次のようなクラスを作成することができますそれはSendGrid webhookを設定した方法と一致します。

+0

ただし、これらのプロパティを取得するAPIはどのAPIを使用していますか? – Shraddha

+1

あなたの独自のAPIにSendGridにPOSTを指示することができます。提供されるコードは、呼び出されるエンドポイントを構築する方法を示しています。 SendGridで、設定に行き、イベント通知を有効にします。独自のコールバックURLを追加できる場所が表示されます。 –

+0

私はsendgridに自分のURLを提供し、統合をテストしようとしました。しかし、それは何の出力も与えていません。私のブレークポイントのようにヒットしない。私が逃している他の設定はありますか? – Shraddha

関連する問題