SendGridでは、メール送信だけでなく、受信メールを処理することも可能です。
また、バウンスやUnsubscribe等のイベントに関する処理をすることも可能です。
これらの処理をするのにメール受信やイベントが発生したときに、任意のエンドポイントにHTTPでデータを送信するWebhookの仕組みを使います。

イベント通知としてのWebhook

ダッシュボードのSETTINGS>Mail SettingsでEvent NotificationをActiveにして、エンドポイント及び送信するイベント種別を選択します。

sendgrid-eventnotification

あとはエンドポイント側で受信するJSONを処理すればOKです。

SMTP APIで適切なメールアドレスに送信した場合は以下のようなJSONが送信されます。

存在しないメールアドレスにそれぞれ送信した場合は以下のようなJSONが返却されます。(バウンス)

同様の情報をダッシュボードのActivity Feedからも確認することが可能です。

sendgrid-activityfeed

その他のイベント種別に関してはリファレンスを参照。

エンドポイント側では正常に受信した場合は2系のHTTPステータスコードを返却するようにしてください。2系以外のレスポンスを返却した場合は、SendGrid側でリトライ処理が行われます。

受信メール処理としてのWebhook

mx.sendgrid.netを向き先とするMXレコードを設定します。

sendgrid-inbound-mx

ダッシュボードのSETTINGS>Inbound ParseでInboundメールに関する設定をします。

sendgrid-inbound-setting1

対象のメールアドレスのホスト名と送信先のエンドポイントを設定します。

sendgrid-inbound-setting2

あとは設定したドメインに対してメールを送信すればOKです。

エンドポイントにはmultipart/form-data形式でデータが送信されます。
取得できるデータの詳細に関してはリファレンスを参照。

Activity Feedだとこんな感じで確認できます。

sendgrid-inbound-activityfeed

こちらも、エンドポイント側では正常に受信した場合は2系のHTTPステータスコードを返却するようにしてください。4系、5系を返却した場合はSendGrid側でリトライ処理が行われます。