インバウンド受信

概要

受信したメールを解析し、事前に登録した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 文字列

件名
MIMEヘッダエンコードされている場合はデコード後の文字列が設定されている

from 文字列

FROMヘッダ
表示名がMIMEヘッダエンコードされている場合はデコード後の文字列が設定されている

to 文字列

TOヘッダ
表示名がMIMEヘッダエンコードされている場合はデコード後の文字列が設定されている

headers 配列 未整形メールヘッダのリスト
text_charset 文字列

メール本文のTEXTパートの文字コード
メール本文にTEXTパートが存在する場合のみ

html_charset 文字列

メール本文のHTMLパートの文字コード
メール本文にHTMLパートが存在する場合のみ

text 文字列

メール本文のTEXTパート
メール本文にTEXTパートが存在する場合のみ

html 文字列

メール本文のHTMLパート
メール本文にHTMLパートが存在する場合のみ

attachments 配列

メール本文の添付ファイルオブジェクトの配列
メール本文に添付ファイルが存在する場合のみ
添付ファイルオブジェクトの要素

要素名 説明 備考
filename

ファイル名

-
content_type

ファイルのコンテンツタイプ

-
encoding ファイルのエンコーディング Content-Transfer-Encodingが存在する場合のみ
content

未整形のファイル文字列

-

 

raw_body 文字列

メールヘッダ部分を除く、メール本文
この項目が存在するのは、テキストパート及びHTMLパートと添付ファイルが1つも存在しない(解析できなかった)場合
もしくは、パートの解析時に内部エラーが発生した場合

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 がデータに含まれる。