概要
受信したメールを解析し、事前に登録したWebhook通知先URLに対して解析した内容を送信する。
受信アドレス
ドメインパートをシステムに登録する必要がある。
ローカルパートは登録不要で、任意の文字列のローカルパートで受信・解析可能。
対象のドメインについて、下記のMXレコードを別途登録する必要がある。
- server-inbound3.autobahn.email.
- server-inbound4.autobahn.email.
通知先URL
URIスキームは https である必要がある。
HTTPメソッド
POST
送信仕様
リクエスト送信時に通知先が 2XX もしくは 3XX ではないステータスコードを返した場合は、一定期間再送を試行する。
送信内容
下記の内容を application/x-www-form-urlencoded 形式で送信する。
項目名
|
型
|
説明
|
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
envelope_to | 文字列 | 受信したメールアドレス | |||||||||||||||
envelope_from | 文字列 | 送信者のメールアドレス | |||||||||||||||
ip_address | 文字列 | 送信元MTAのIPアドレス | |||||||||||||||
subject | 文字列 |
件名 |
|||||||||||||||
from | 文字列 |
FROMヘッダ |
|||||||||||||||
to | 文字列 |
TOヘッダ |
|||||||||||||||
headers | 配列 | 未整形メールヘッダのリスト | |||||||||||||||
text_charset | 文字列 |
メール本文のTEXTパートの文字コード |
|||||||||||||||
html_charset | 文字列 |
メール本文のHTMLパートの文字コード |
|||||||||||||||
text | 文字列 |
メール本文のTEXTパート |
|||||||||||||||
html | 文字列 |
メール本文のHTMLパート |
|||||||||||||||
attachments | 配列 |
メール本文の添付ファイルオブジェクトの配列
|
|||||||||||||||
raw_body | 文字列 |
メールヘッダ部分を除く、メール本文 |
例
mail from: <from@example.net> rcpt to: <inbound@example.net> From: =?ISO-2022-JP?B?GyRCOjk9UD9NGyhC?= <from@example.com> To: =?ISO-2022-JP?B?GyRCMDhAaBsoQg==?= <inbound@example.com> Subject: =?ISO-2022-JP?Q?=1B=24B=24=33=24l=24O=25=35=25s=25W=25k=24G=24=39=1B=28B?= Content-Type: multipart/mixed; boundary="PRIMARY" --PRIMARY Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable =EF=BB=BF=E3=81=93=E3=82=8C=E3=81=AF=E3=83=86=E3=82=AD=E3=82=B9=E3=83=88= =E3=83=91=E3=83=BC=E3=83=88=E3=81=A7=E3=81=99 =E3=81=93=E3=82=8C=E3=81=AF=E3=83=86=E3=82=AD=E3=82=B9=E3=83=88=E3=83=91= =E3=83=BC=E3=83=88=E3=81=A7=E3=81=99 =E3=81=93=E3=82=8C=E3=81=AF=E3=83=86=E3=82=AD=E3=82=B9=E3=83=88=E3=83=91= =E3=83=BC=E3=83=88=E3=81=A7=E3=81=99 --PRIMARY Content-Type: text/plain; filename="attachment1.txt" Content-Disposition: attachment Content-Transfer-Encoding: Base64 44GT44KM44Gv5re75LuY44OV44Kh44Kk44Or44Gn44GZ6ZaL5aeLDQrjgZPjgozjga/mt7vku5jj g5XjgqHjgqTjg6vjgafjgZkNCuOBk+OCjOOBr+a3u+S7mOODleOCoeOCpOODq+OBp+OBmQ0K44GT 44KM44Gv5re75LuY44OV44Kh44Kk44Or44Gn44GZDQrjgZPjgozjga/mt7vku5jjg5XjgqHjgqTj g6vjgafjgZkNCuOBk+OCjOOBr+a3u+S7mOODleOCoeOCpOODq+OBp+OBmQ0K44GT44KM44Gv5re7 5LuY44OV44Kh44Kk44Or44Gn44GZDQrjgZPjgozjga/mt7vku5jjg5XjgqHjgqTjg6vjgafjgZkN CuOBk+OCjOOBr+a3u+S7mOODleOCoeOCpOODq+OBp+OBmQ0K44GT44KM44Gv5re75LuY44OV44Kh 44Kk44Or44Gn44GZDQrjgZPjgozjga/mt7vku5jjg5XjgqHjgqTjg6vjgafjgZkNCuOBk+OCjOOB r+a3u+S7mOODleOCoeOCpOODq+OBp+OBmQ0K44GT44KM44Gv5re75LuY44OV44Kh44Kk44Or44Gn 44GZDQrjgZPjgozjga/mt7vku5jjg5XjgqHjgqTjg6vjgafjgZkNCuOBk+OCjOOBr+a3u+S7mOOD leOCoeOCpOODq+OBp+OBmQ0K44GT44KM44Gv5re75LuY44OV44Kh44Kk44Or44Gn44GZDQrjgZPj gozjga/mt7vku5jjg5XjgqHjgqTjg6vjgafjgZkNCuOBk+OCjOOBr+a3u+S7mOODleOCoeOCpOOD q+OBp+OBmee1guS6hg== --PRIMARY Content-Type: text/plain; filename="attachment2.txt" Content-Disposition: attachment Content-Transfer-Encoding: quoted-printable =E3=81=93=E3=82=8C=E3=81=AF=E3=83=86=E3=82=B9=E3=83=88=E3=81=A7=E3=81=99=0A= =E3=81=93=E3=82=8C=E3=81=AF=E3=83=86=E3=82=B9=E3=83=88=E3=81=A7=E3=81=99=0A= =E3=81=93=E3=82=8C=E3=81=AF=E3=83=86=E3=82=B9=E3=83=88=E3=81=A7=E3=81=99=0A= =E3=81=93=E3=82=8C=E3=81=AF=E3=83=86=E3=82=B9=E3=83=88=E3=81=A7=E3=81=99=0A= =E3=81=93=E3=82=8C=E3=81=AF=E3=83=86=E3=82=B9=E3=83=88=E3=81=A7=E3=81=99=0A= =E3=81=93=E3=82=8C=E3=81=AF=E3=83=86=E3=82=B9=E3=83=88=E3=81=A7=E3=81=99=0A --PRIMARY-- |
IPアドレス 192.0.2.1 の外部クライアントから上記のメールを受信した場合、通知先に以下のリクエストが送信される。
※見やすいように各項目ごとに改行している
POST /path HTTP/1.1 Host: example.com Content-Type: application/x-www-form-urlencoded Content-Length: 4125 envelope_to=inbound%40example.net& envelope_from=from%40example.net& ip_address=192.0.2.1& subject=%1B%24B%243%24l%24O%255%25s%25W%25k%24G%249%1B%28B& headers%5B0%5D=Return-Path%3A+%3Cfrom%40example.net%3E& headers%5B1%5D=Received%3A+from+%5B192.0.2.1%5D+%28%5B192.0.2.1%5D%29+++++by+%5B0.0.0.0%5D+%28%5B0.0.0.0%5D%29+with+ESMTP+id+687341257014100026%3B+++++Mon%2C+9+Nov+2020+16%3A48%3A59+%2B0900& headers%5B2%5D=From%3A+%3D%3FISO-2022-JP%3FB%3FGyRCOjk9UD9NGyhC%3F%3D+%3Cfrom%40example.com%3E& headers%5B3%5D=To%3A+%3D%3FISO-2022-JP%3FB%3FGyRCMDhAaBsoQg%3D%3D%3F%3D+%3Cinbound%40example.net%3E& headers%5B4%5D=Subject%3A+%3D%3FISO-2022-JP%3FQ%3F%3D1B%3D24B%3D24%3D33%3D24l%3D24O%3D25%3D35%3D25s%3D25W%3D25k%3D24G%3D24%3D39%3D1B%3D28B%3F%3D& headers%5B5%5D=Content-Type%3A+multipart%2Fmixed%3B+boundary%3D%22PRIMARY%22& headers%5B6%5D=Message-Id%3A+%3Cexample-tenant.687341314140520507%40%5B0.0.0.0%5D%3E& headers%5B7%5D=X-MTA-Tenant%3A+example-tenant& headers%5B8%5D=X-MTA-Sender-Key%3A+example-tenant.& from=%E5%B7%AE%E5%87%BA%E4%BA%BA%3Cfrom%40example.com%3E& to=%E5%AE%9B%E5%85%88%3Cinbound%40example.net%3E& text=%EF%BB%BF%E3%81%93%E3%82%8C%E3%81%AF%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%83%91%E3%83%BC%E3%83%88%E3%81%A7%E3%81%99%0D%0A%E3%81%93%E3%82%8C%E3%81%AF%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%83%91%E3%83%BC%E3%83%88%E3%81%A7%E3%81%99%0D%0A%E3%81%93%E3%82%8C%E3%81%AF%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%83%91%E3%83%BC%E3%83%88%E3%81%A7%E3%81%99%0D%0A%0D%0A& text_charset=utf-8& attachments%5B0%5D%5Bfilename%5D=attachment1.txt& attachments%5B0%5D%5Bcontent_type%5D=text%2Fplain& attachments%5B0%5D%5Bencoding%5D=Base64& attachments%5B0%5D%5Bcontent%5D=44GT44KM44Gv5re75LuY44OV44Kh44Kk44Or44Gn44GZ6ZaL5aeLDQrjgZPjgozjga%2Fmt7vku5jj%0D%0Ag5XjgqHjgqTjg6vjgafjgZkNCuOBk%2BOCjOOBr%2Ba3u%2BS7mOODleOCoeOCpOODq%2BOBp%2BOBmQ0K44GT%0D%0A44KM44Gv5re75LuY44OV44Kh44Kk44Or44Gn44GZDQrjgZPjgozjga%2Fmt7vku5jjg5XjgqHjgqTj%0D%0Ag6vjgafjgZkNCuOBk%2BOCjOOBr%2Ba3u%2BS7mOODleOCoeOCpOODq%2BOBp%2BOBmQ0K44GT44KM44Gv5re7%0D%0A5LuY44OV44Kh44Kk44Or44Gn44GZDQrjgZPjgozjga%2Fmt7vku5jjg5XjgqHjgqTjg6vjgafjgZkN%0D%0ACuOBk%2BOCjOOBr%2Ba3u%2BS7mOODleOCoeOCpOODq%2BOBp%2BOBmQ0K44GT44KM44Gv5re75LuY44OV44Kh%0D%0A44Kk44Or44Gn44GZDQrjgZPjgozjga%2Fmt7vku5jjg5XjgqHjgqTjg6vjgafjgZkNCuOBk%2BOCjOOB%0D%0Ar%2Ba3u%2BS7mOODleOCoeOCpOODq%2BOBp%2BOBmQ0K44GT44KM44Gv5re75LuY44OV44Kh44Kk44Or44Gn%0D%0A44GZDQrjgZPjgozjga%2Fmt7vku5jjg5XjgqHjgqTjg6vjgafjgZkNCuOBk%2BOCjOOBr%2Ba3u%2BS7mOOD%0D%0AleOCoeOCpOODq%2BOBp%2BOBmQ0K44GT44KM44Gv5re75LuY44OV44Kh44Kk44Or44Gn44GZDQrjgZPj%0D%0Agozjga%2Fmt7vku5jjg5XjgqHjgqTjg6vjgafjgZkNCuOBk%2BOCjOOBr%2Ba3u%2BS7mOODleOCoeOCpOOD%0D%0Aq%2BOBp%2BOBmee1guS6hg%3D%3D%0D%0A& attachments%5B1%5D%5Bfilename%5D=attachment2.txt& attachments%5B1%5D%5Bcontent_type%5D=text%2Fplain& attachments%5B1%5D%5Bencoding%5D=quoted-printable& attachments%5B1%5D%5Bcontent%5D=%3DE3%3D81%3D93%3DE3%3D82%3D8C%3DE3%3D81%3DAF%3DE3%3D83%3D86%3DE3%3D82%3DB9%3DE3%3D83%3D88%3DE3%3D81%3DA7%3DE3%3D81%3D99%3D0A%3D%0D%0A%3DE3%3D81%3D93%3DE3%3D82%3D8C%3DE3%3D81%3DAF%3DE3%3D83%3D86%3DE3%3D82%3DB9%3DE3%3D83%3D88%3DE3%3D81%3DA7%3DE3%3D81%3D99%3D0A%3D%0D%0A%3DE3%3D81%3D93%3DE3%3D82%3D8C%3DE3%3D81%3DAF%3DE3%3D83%3D86%3DE3%3D82%3DB9%3DE3%3D83%3D88%3DE3%3D81%3DA7%3DE3%3D81%3D99%3D0A%3D%0D%0A%3DE3%3D81%3D93%3DE3%3D82%3D8C%3DE3%3D81%3DAF%3DE3%3D83%3D86%3DE3%3D82%3DB9%3DE3%3D83%3D88%3DE3%3D81%3DA7%3DE3%3D81%3D99%3D0A%3D%0D%0A%3DE3%3D81%3D93%3DE3%3D82%3D8C%3DE3%3D81%3DAF%3DE3%3D83%3D86%3DE3%3D82%3DB9%3DE3%3D83%3D88%3DE3%3D81%3DA7%3DE3%3D81%3D99%3D0A%3D%0D%0A%3DE3%3D81%3D93%3DE3%3D82%3D8C%3DE3%3D81%3DAF%3DE3%3D83%3D86%3DE3%3D82%3DB9%3DE3%3D83%3D88%3DE3%3D81%3DA7%3DE3%3D81%3D99%3D0A%0D%0A |
TEXTパート、HTMLパート、添付ファイルのいずれも解析できなかった場合もしくは、いずれかのパートの解析で内部エラーが発生した場合 raw_body がデータに含まれる。