Gehirn MTA

Gehirn MTA について

Gehirn MTA は、ゲヒルンがゼロから開発したフルマネージドなメール送受信 API サービスです。初期費用が不要で最低利用期間はありません。MTA を使用することで、お客様は独自にメールサーバを構築したり運用したりする必要がなくなります。MTA は、柔軟性と可用性が高く、大量のワークロードを処理できるよう設計されています。Gehirn EDJ と連携することで、MTA の機能をさらに活用できます。

ドメイン

MTA の使用には、お客様がお持ちの独自ドメインが必要です。また、MTA に独自ドメインを設定する前に、プロジェクトでドメインの追加およびドメイン所有権の確認を完了している必要があります。プロジェクトでドメイン所有権の確認まで完了している場合には下記のステップにお進みください。

MTA でのメールの送信

このセクションでは、MTA でのメールの送信方法をご紹介します。MTA は、SMTP インターフェイスと HTTPS API を利用してメールを送信することができます。

SMTP を使用する

Simple Mail Transfer Protocol(SMTP) は一般的にメール クライアント(MUA)がメールを送信するため、もしくはメールサーバ(MTA/MDA)同士がメールを送受信するために使用されるインターフェイスです。

お客様が、SMTP インターフェイスで MTA にアクセスする方法は主に 2 つあります。1 つ目は SMTP に対応したメール クライアント ソフトウェア(MUA)を使用する方法で、2 つ目が Node.js や Golang などのプログラミング言語を使用して MTA にアクセスする方法です。メールを自動的に送信したり、Web サービスから送信されるメールは後者の方法が使われます。

プログラムからのメール送信

プログラムからメールを送信するためには、ドメインやロール、API クライアントを設定します。次のステップを参照してください。次のセクションでは、MTA の詳しい仕様を記述しています。

メールの送信に必要なアクセス制御ポリシー

メールの送信に必要なアクセス制御ポリシーは次の通りです。

  • mta.domains.list
  • mta.domains.get
  • mta.domains.send
対応するプロトコル

MTA は、TLS 1.0、TLS 1.1、TLS 1.2 と、STARTTLS を使用した平文通信から TLS へのアップグレードをサポートします。

送信メールサーバー

mx.mta.gis.gehirn.jp

ポート

MTA が待ち受ける TCP ポートは次の通りです。なお、tcp:25 ポートブロック(OP25B)のためのサブミッション ポートは 2525 です。これは、Google Compute Engine の VM インスタンスなど、25、465、587 番ポート ブロックを行っているサービス プロバイダから接続するためのポートです。

TLS 接続

tcp:465

STARTTLS

tcp:587

サブミッション ポート

tcp:2525

ユーザー名

API クライアント静的鍵のトークン(ユーザ名)
例:f0a6c2cc-ab05-4382-b17c-46429cc338ab

パスワード

API クライアント静的鍵のシークレット(パスワード)
例:CICAgJz5kaWeAhIKrXjT7rc9aTcJAw:149118314924212224

ログイン メソッド

PLAIN または LOGIN

送信者(MAIL FROM)

任意の文字列 @送信ドメイン名
MTA はセキュリティ上、登録されたドメイン名のメールしか送信できません。

SPF(Sender Policy Framework)を設定する

SPF は、ドメイン管理者が指定した正当なメールサーバがメールを送信してきたかを検証することで、メールアドレスのなりすまし(詐称)を防止するために使用します。Gehirn MTA のメールサーバを SPF に設定する場合には次の値を DNS の TXT レコードに設定します。

v=spf1 include:spf.mta.gis.gehirn.jp -all

DKIM(Domainkeys Identified Mail)を設定する

DKIM は、電子署名方式の送信ドメイン認証です。送信側で電子メールに電子署名を付加し、受信側でその電子署名を照合するという方法で、メッセージ ヘッダや本文が改ざんされていないかを検証できます。

DKIM を設定する方法は次のリソースを参照してください。

MTA でのメールの受信

MTA は外部の SMTP サーバからメールを受け取ることができます。MTA は受け取ったメールを EDJ に配送します。受信したメールをどのように処理するかは、EDJ で定義します。

MX レコードの設定

メールを受信するには、ドメイン名の DNS ゾーンに MX レコードを追加する必要があります。Gehirn DNS をお使いで、ゾーンが存在している場合には、自動設定を使用することができます。Gehirn DNS をお使いでない場合には、DNS サービス プロバイダによって操作手順が異なります。

MX レコード セットに次のレコードを追加します。

@ IN MX 10 mx1.mta.gis.gehirn.jp.
@ IN MX 10 mx2.mta.gis.gehirn.jp.
@ IN MX 10 mx3.mta.gis.gehirn.jp.
@ IN MX 10 mx4.mta.gis.gehirn.jp.
@ IN MX 10 mx5.mta.gis.gehirn.jp.

ルール

MTA は、受信および送信するメールを EDJ に配送して処理を行います。EDJ への配送ルールを設定する方法を解説します。

MTA の受信ルールは次の 3 つのタイプがあります。

ルール タイプの違い
アカウント タイプは複数のルールを設定できます。アカウント タイプと全配送タイプは、条件にマッチしたすべてのルールが実行されます。全配送タイプはすべてのメールで必ず実行されるルールです。一方、キャッチオール タイプはどのルールにもマッチしない場合にのみ実行されます。アカウント タイプもしくは全配送タイプが 1 つでもマッチした場合にはキャッチオール タイプは実行されません。

アカウント

アカウントは、送信先メールアドレスが、入力されたローカル パートにマッチするメールが対象となります。 ローカルパートを「test」、ドメインが example.com だとすると、 test@example.com 宛に送られたメールが対象となります。

全配送

すべてのメールを対象にします。

キャッチオール

どのルールにもマッチしなかったメールを対象にします。

リソース制限と緩和申請

MTA での制限事項は次の通りです。

  • MTA には 1 分および 24 時間を計算単位とした送信数制限があります。制限値は MTA のダッシュボードに「使用状況」として掲載されています。
  • envelope from(SMTP の MAIL FROM コマンドの値)のドメイン名が Gehirn MTA に設定されているドメイン名と一致している必要があります。
  • メール本文(RFC 5322 メッセージ, ヘッダー部を含む)のサイズ(Base 64 などでエンコードした場合はエンコード後のサイズ)が 10 MiB 以下である必要があります。

送信数制限は、次の手順で緩和申請を行うことができます。

チュートリアル

このセクションでは、チュートリアルについて紹介します。