Dovecot Submission server
バージョン2.3.0の時点で、DovecotはMail Submission Agent (MSA) RFC 6409としても知られるSMTPサブミッションサービスを提供しています。 これは現在、任意のMTAのフロントエンドとして動作するプロキシとして実装されており、サブミッションサービスに必要な機能を追加します:必要なAUTH RFC 4954サポートを追加し、SASL認証のためにMTAを構成する必要性を回避します。 CHUNKING RFC 3030やSIZE RFC 1870のような、より多くのSMTP機能が、これらの拡張をサポートするバックエンドMTAを必要とせずにサポートされます。 8BITMIME RFC 6152やDS RFC 3461などの他の機能は、現在バックエンド/リレーMTAからのサポートが必要です。
プロキシが追加する最も注目すべき機能は、BURL機能RFC 4468である。 この機能の主な用途は、IMAPおよびURLAUTH RFC 4467とともに、送信された電子メールメッセージの重複アップロードの回避である。 BURLを使用すると、クライアントはまずメッセージをIMAPにアップロードし、次にBURLを使用してSMTPサーバーにIMAPから送信用のメッセージをフェッチさせることで、2回目のアップロードを避けることができます。 現在、BURL機能をサポートしているクライアントはほとんどありませんが、サーバー側で利用可能になれば、クライアント開発者は少なくともこの機能のサポートを提供する動機付けを持つでしょう。
Features
Dovecot サブミッションサービスでは、以下の SMTP 機能がサポートされています:
- 8BITMIME RFC 6152 - Only if relay MTA provides support
- AUTH RFC 4954
- BURL RFC 4468
- CHUNKING RFC 3030
- DSN RFC 3461 - Only if relay MTA provides support
- ENHANCEDSTATUSCODES RFC 2034
- PIPELINING RFC 2920
- SIZE RFC 1870
- STARTTLS RFC 3207
- VRFY RFC 5321
- XCLIENT - See https://www.postfix.org/XCLIENT_README.html
設定方法
Submission サービス
protocols=の設定にsubmissionを追加し、リレーMTAサーバを設定するだけです。 サブミッションサービスはIMAP、POP3、Pigeonhole ManageSieve Serverと同様にログインサービスですので、クライアントの認証が必要です。 プロトコル固有のことを行っている場合を除き、同じ認証設定がサブミッションにも適用されます。
BURLのサポートには、動作するIMAP URLAUTH実装が必要です。 DovecotのURLAUTHサポートの設定の詳細はimap_urlauth_hostにあります。
Submissionサービスには、以下の設定が適用されます:
- submission_logout_format = in=%i out=%o
- SMTP Submission logout format 文字列。以下の変数置換がサポートされています:
| %i | クライアントから読み込んだバイト数 |
|---|---|
| %o | クライアントに送信されたバイト数の合計 |
| %{command_count} | クライアントから受信したコマンドの数 |
| %{reply_count} | クライアントに送信されたリプライの数 |
| %{session} | ログインセッションのセッションID |
| %{transaction_id} | 現在のトランザクションID(もしあれば |
- hostname
- SMTPサービス(およびDovecotの他の部分)によって報告されるホスト名。たとえば、最初の挨拶でクライアントに、HELO/EHLOコマンドでリレーサーバーに報告されます。デフォルトはシステムの実ホスト名@ドメイン。
- submission_client_workarounds
- Submissionクライアントのバグに対する有効な回避策のリストを設定します。リストはスペースで区切られます。サポートされている回避策の識別子は以下のとおりです:
- implicit-auth-external
- クライアントが有効なTLSクライアント証明書を提供している場合、最初のMAILコマンドでEXTERNAL SASLメカニズムを使用して暗黙的にログインします。これは、TLS証明書を使った認証が設定されているときに、明示的なSASL認証を省略するクライアント(例えばThunderbird)に役立ちます。
- バージョン2.3.18の新機能。
- mailbox-for-path
- フルパス形式ではなく、素のMailbox形式(つまり、<...>なし)を使えるようにする。
- whitespace-before-path
MAIL FROM:とパスの間、およびRCPT TO:とパスの間に、1つ以上のスペースまたはタブを許可する。
- submission_max_mail_size
- リレーに受け入れられるメッセージの最大サイズ。これは SMTP SIZE で通知される。設定されていない場合、これはリレーサーバから決定されるか、上限がわからない場合は無制限のままにされます(リレーMTAは、未知の上限が存在する場合はエラーで応答し、Dovecotのクライアントに正式に渡されます)。
- submission_max_recipients
- 接続ごとに受け入れられる受信者の最大数(デフォルト:無制限)。
Relay MTA
Dovecot SMTP submission サービスは、以下の設定で構成された SMTP リレーにメール転送を直接プロキシします:
- submission_relay_host
- リレーサーバーのホスト名(必須)。
- submission_relay_port = 25
- リレーサーバーのポート。
- submission_relay_trusted = no
- リレーサーバが信頼されているか。これは、(Postfix固有の)XCLIENTデータをリレーサーバに送ろうとするかどうかを決定します。
- submission_relay_user =
- リレーMTAで認証が必要な場合の認証用ユーザー名(authorization ID)。
- submission_relay_master_user =
- リレーMTAで認証が必要な場合のマスターユーザー名(authentication ID)。
- submission_relay_password =
- リレーMTAで認証が必要な場合のパスワード。
- submission_relay_ssl = no
- リレー・サーバーへの接続にTLSを使用するかどうかを示します。この設定には以下の値が定義されています:
- no
- SSLは使用しません。
- smtps
- SMTPS接続(immediate SSL)を使用します。
- starttls
- TLSレイヤーを確立するために STARTTLS を使います。
- submission_relay_ssl_verify = yes
- リレーサーバーのTLS証明書を検証するかどうかを設定する。
- submission_relay_rawlog_dir
- リレー接続のログをデバッグ用にこのディレクトリに書き込む。
See Rawlog for more details on rawlogs.
Login Proxy
IMAP や POP3 と同様に、Submission ログインサービスは複数のバックエンド Dovecot サーバへのプロキシをサポートしています。 POP3 と IMAP のプロキシ設定 wiki ページは、Submission にも自動的に適用されます。
- 重要
- ここで説明する login proxy は、2 台の Dovecot サーバー (例: ディレクタフロントエンドとメールストレージバックエンド) 間で設定することに注意してください。これは、Dovecot submission サービスと MTA の間のリレー接続を設定する方法ではありません!これは、前のセクションで説明したリレー設定を使用して設定します。これを間違えると、(少なくともある程度は) うまくいくように見えますが、Dovecot が提供するサービスは事実上バイパスされます。