sendgrid と actionmailer を使用して Rails アプリからメールを送信しましたが、メールも受信しました。しかし、特定のメールの応答をデータベースに保存できるように、sendgrid の送信メールのステータス (open、deliver、bounce など) を Rails アプリで取得したいと考えています。
私はフォローしました: https://github.com/stephenb/sendgrid でメールを送信すると、うまくいきました。
sendgrid と actionmailer を使用して Rails アプリからメールを送信しましたが、メールも受信しました。しかし、特定のメールの応答をデータベースに保存できるように、sendgrid の送信メールのステータス (open、deliver、bounce など) を Rails アプリで取得したいと考えています。
私はフォローしました: https://github.com/stephenb/sendgrid でメールを送信すると、うまくいきました。
送信済みメールのステータスを取得するには、こちらで説明されているように sendgrid Webhook を使用します
これがセットアップされると、sendgrid は次のイベントの URL を通知します。
アプリのイベント webhookをセットアップする必要があります。完了すると、アプリへの POST が次の形式で取得されます。
{
"email":"foo@bar.com",
"timestamp":1322000095,
"unique_arg":"my unique arg",
"category": "some_category",
"event":"delivered"
}
Rails を使用しているため、 GridHookも確認する必要があります。SendGrid は公式にはサポートしていませんが、オープン ソース コミュニティには多くの人が取り組んでいます。これにより、次のようなことができるようになります。
Gridhook.configure do |config|
# The path we want to receive events
config.event_receive_path = '/sendgrid/event'
config.event_processor = proc do |event|
# event is a Gridhook::Event object
EmailEvent.create! event.attributes
end
end