メールサーバー
メールサーバーは複数のコンポーネントから構成されます。メール転送エージェント (MTA) が SMTP を使ってメールを送受信します。受信されたメールは メール配送エージェント (MDA) に渡されてメールボックスにメールが保存されます (通常は mbox または Maildir 形式)。メールクライアント (MUA) を使ってリモートからメールにアクセスしたい場合、POP3 や IMAP サーバーを稼働する必要があります。
+---------+ SMTP +---+ +---+ +----------------+ |Other MTA| <----> |MTA| --|MDA|-> Storage <-- |POP3/IMAP server| +---------+ +---+ +---+ +----------------+ ^ ^ | SMTP +---+ | +-------------|MUA|---------------+ +---+
目次
ソフトウェア
以下のソフトウェアは Sendmail を除いて全てメール配送エージェントを含みます。
- Exim — 細かく設定ができるメール転送エージェント。
- OpenSMTPD — OpenBSD プロジェクトの一員のメール転送エージェント。
- Postfix — 高速・管理しやすい・セキュアなメール転送エージェント。
- Sendmail — 有名なメール転送エージェント。
POP3/IMAP サーバー
- Courier — メール転送エージェント。POP3, IMAP, ウェブメールおよびメーリングリストを別々のコンポーネントとして提供。
- Cyrus IMAP — カスタムメールスプールフォーマットを備えたメール転送エージェント。POP3 と IMAP サービスを提供。
- Dovecot — セキュア・高速・簡単なセットアップを目指して書かれた IMAP と POP3 のサーバー。
- UW IMAP — IMAP/POP サーバー。
スタンドアロン MDA
- fdm — メールの配送とフィルタリングのためのシンプルなプログラム。
- Procmail — メールのフィルタリング・ソート・保存を行うプログラム (メンテナンスされていません)。
- Maildrop — Courier メールサーバーによって使われているメールフィルター・メール配送エージェント。
Wikipedia:Comparison of e-mail servers も見てください。
ポート
他の MTA からメールを受信 | 25 | SMTP | STARTTLS |
MUA から投稿を受信 | 587 | SMTP | STARTTLS |
465 | SMTPS | 黙示的な TLS | |
MUA からメールにアクセス | 110 | POP3 | STARTTLS |
995 | POP3S | 暗黙的 TLS | |
143 | IMAP | STARTTLS | |
993 | IMAPS | 暗黙的 TLS |
MX レコード
メールサーバーをホストするには ドメイン の MX レコード でメール転送エージェントのドメイン名を指定する必要があります。MX レコードの値として使用するドメイン名は最低でもひとつの アドレスレコード (A, AAAA) にマッピングされている必要があり、RFC 2181 に準拠するため CNAME レコード があってはいけません、レコードが存在すると一部のメールサーバーからメールが取得できなくなる可能性があります。DNS レコードの設定は基本的に ドメインレジストラ の設定インターフェイスから行います。
TLS
証明書の取得方法は OpenSSL を見てください。
認証
メールの認証方法は様々なものが存在します。
Sender Policy Framework
Wikipedia より:
- Sender Policy Framework (SPF) とは、電子メールにおける送信ドメイン認証のひとつ。差出人のメールアドレスが他のドメイン名になりすまししていないか検出する技術である。
あなたのドメインからメールが送られたことを他のメール転送エージェントが確認できるようにするため、Wikipedia の記事 に書かれているように DNS TXT レコードを設定してください (オンラインウィザード も存在します)。SPF を使って受信したメールを確認したい場合、SPF の実装を使うようにメール転送エージェントを設定する必要があります。SPF の実装 は複数存在し libspf2, perl-mail-spf, perl-mail-spf-query などが利用できます。
Courier | Yes (内蔵) |
---|---|
Postfix | Yes |
Sendmail | Milter と spfmilter-acmeAUR を使用 |
Exim | 実験的なサポート (libspf2 が必要) |
OpenSMTPD | No |
Cyrus IMAP | ? |
以下は SPF レコードを確認できるウェブサイトです:
Sender Rewriting Scheme
Sender Rewriting Scheme (SRS) は Sender Policy Framework を破壊せずに転送されたメールのアドレスをセキュアに書き換えることができる仕組みです。
Postfix の場合、Postfix#Sender Rewriting Scheme を見てください。
DKIM
DomainKeys Identified Mail (DKIM) はメールの偽装を防止するために作られたドメインレベルのメール認証方式です。
DKIM の実装として OpenDKIM や dkimproxy[リンク切れ: パッケージが存在しません] が利用できます。
テスト
DNS レコードや配達できるかどうか、暗号化などをテストする方法は複数存在します。
専用ツール
専用ウェブサイト
簡単にテストできる便利なウェブサイトが存在します。
- https://mxtoolbox.com/
- http://ismyemailworking.com/
- https://www.mail-tester.com/ (無料では3回まで)
- https://www.checktls.com/
- https://pingability.com/zoneinfo.jsp
ヒントとテクニック
ほとんどのメールサーバーは送信するメールにユーザーの IP アドレスと ユーザーエージェント を含めないように設定できます。
メールサーバーに追加できる機能として以下のようなものがあります:
- ClamAV によるメールのウイルスチェック
- SpamAssassin によるスパムの認識とフィルタリング
- Sieve – メールフィルタリングプログラミング言語
- Roundcube や Squirrelmail などの ウェブメール