メールサーバー構築(sendmail+Dovecot)
最終更新日: 2009.12.29
■概要
メールサーバーを構築する場合、送信メールサーバー(SMTPサーバー)と受信メールサーバー(POP/IMAPサーバー)の構築が必要となる。 ここでは、送信メールサーバーにはデフォルトでインストールされているsendmail、受信メールサーバーにはDovecotを採用する。 なお、sendmailは迷惑メールの不正中継に利用されないようにするため、デフォルトでは外部から外部宛(例えば、会社等で自宅サーバーのメールアドレスからプロバイダのメールアドレス宛)に送信できないようになっているが、迷惑メールの不正中継に利用されずに外部から外部宛に送信できるようにするため、SMTP-Auth機能※をもたせる。 また、DovecotはPOP/IMAPサーバーとして構築し、ユーザがPOPまたはIMAPを選択できるようにする。※POPとIMAPの違い ※SMTP-Auth機能とは、メール送信時にユーザ名とパスワードで認証を行なう機能であり、これにより、迷惑メールの不正中継に利用されないようにする。 |
■sendmail設定
(1)sendmail-cfインストール sendmail.mcからsendmail設定ファイル(sendmail.cf)を作成するのに必要なsendmail-cfをインストールする。 ※sendmail設定ファイル(sendmail.cf)は難解なため、sendmail.mcを編集してsendmail.cfに変換するのが一般的である |
|
(2)sendmail設定 |
|
(3)SMTP-Auth設定 SMTP-Auth用ユーザ名、パスワードにシステムのユーザ名、パスワードを使用する場合 |
|
SMTP-Auth用ユーザ名、パスワードとシステムのユーザ名、パスワードを別々にする場合 |
|
(4)Maildir形式メールボックス作成 sendmailのメール格納形式は共有ディレクトリ形式(「/var/spool/mail/ユーザ名」というファイルに全てのメールが蓄積されていく形式)だが、アクセス性能改善及びセキュリティ強化の観点からMaildir形式へ移行する。 【既存ユーザ対処】 既存ユーザのホームディレクトリにMaildir形式のメールボックスを作成して、蓄積済のメールデータを当該メールボックスへ移行する⇒メールデータ移行を参照 【新規ユーザ対処】 新規ユーザ追加時に自動でホームディレクトリにMaildir形式のメールボックスが作成されるようにする |
|
(5)Maildir形式メールボックス対応 sendmailはMaildir形式メールボックスに対応していないため、ProcmailでMaildir形式メールボックスへ配送するようにする。 |
|
(6)未承諾広告メールの削除 未承諾広告メール(件名に「未承諾広告※」と表示されているメール)は受信せずに削除するようにする。 |
|
■sendmail再起動
(1)sendmail再起動 |
|
(2)ポート25番のOPEN ルーター側の設定でポート25番をOPENする。 ※ルーターの設定は各ルーターのマニュアルまたはメーカー別ルーターポート開放手順を参照 ポートチェック【外部からポート開放確認】で「host名」にサーバー名(例:centossrv.com)、「port番号」に25と入力して「ポートチェック」ボタン押下し、「ホスト=centossrv.com ポート=25 にアクセスできました。」と表示されることを確認。 |
■OP25B対策
OP25B(Outbound Port 25 Blocking)対策参照 |
■Dovecotインストール
|
■Dovecot設定
|
■Dovecot起動
(1)Dovecot起動 |
|
(2)ポート110番(POPの場合)または143番(IMAPの場合)のOPEN ルーター側の設定でポート110番(POPの場合)または143番(IMAPの場合)をOPENする。 ※ルーターの設定は各ルーターのマニュアルまたはメーカー別ルーターポート開放手順を参照 ポートチェック【外部からポート開放確認】で「host名」にサーバー名(例:centossrv.com)、「port番号」に110(POPの場合)または143(IMAPの場合)と入力して「ポートチェック」ボタン押下し、「ホスト=centossrv.com ポート=110(POPの場合)または143(IMAPの場合) にアクセスできました。」と表示されることを確認。 |
■メールユーザ追加
(1)メールユーザ追加(SSHによるリモート接続はできないようにする場合) ※例としてユーザ名をcentosとする |
|
(2)メールユーザ追加(SSHによるリモート接続もできるようにする場合) ※例としてユーザ名をcentosとする |
|
(3)既存ユーザをメールユーザとする場合 ※例としてユーザ名をcentosとする |
|
■メールソフト設定(受信メールサーバーをPOPにする場合)
自宅や会社等の複数拠点でメールを使用する場合で、メールボックスを同期しなくてもいい場合(例:会社で受信したメールは自宅で受信できなくてもいい場合)、受信メールサーバーにPOPを使用する。 ここでは、メールソフトとしてOutlook Expressを使用する。 Outlook Expressを起動し、メニューの「ツール」⇒「アカウント」⇒「メール」タブ⇒「追加」ボタン⇒「メール」としてメール設定を行う 「表示名」に送信者の名前(任意)を入力して「次へ」 「電子メールアドレス」に送信者のメールアドレス(例:centos@centossrv.com)を入力して「次へ」 「受信メールサーバー」にメールサーバー名(例:mail.centossrv.com)を入力 「送信メールサーバー」にメールサーバー名(例:mail.centossrv.com)を入力して「次へ」 「パスワード」にパスワードを入力して「次へ」 「完了」 追加したアカウントをダブルクリックしてプロパティを開く 「サーバー」タブの「このサーバーは認証が必要」をチェック SMTP-Auth用ユーザ名、パスワードとシステムのユーザ名、パスワードを別々にする場合のみ「設定」ボタンをクリックして次の設定を行う ※SMTP-Auth用ユーザ名、パスワードとシステムのユーザ名、パスワードを別々にする場合のみ 「次のアカウントとパスワードでログオンする」をチェック 「アカウント名」にSMTP-Auth用ユーザ名を入力 「パスワード」にSMTP-Auth用パスワードを入力して「OK」 「OK」 |
■メールソフト設定(受信メールサーバーをIMAPにする場合)
自宅や会社等の複数拠点でメールを使用する場合で、メールボックスを同期したい場合(例:会社で受信したメールを自宅でも受信したい場合)、受信メールサーバーにIMAPを使用する。 ここでは、メールソフトとしてOutlook Expressを使用する。 Outlook Expressを起動し、メニューの「ツール」⇒「アカウント」⇒「メール」タブ⇒「追加」ボタン⇒「メール」としてメール設定を行う 「表示名」に送信者の名前(任意)を入力して「次へ」 「電子メールアドレス」に送信者のメールアドレス(例:centos@centossrv.com)を入力して「次へ」 「受信メールサーバーの種類」で「IMAP」を選択 「受信メールサーバー」にメールサーバー名(例:mail.centossrv.com)を入力 「送信メールサーバー」にメールサーバー名(例:mail.centossrv.com)を入力して「次へ」 「パスワード」にパスワードを入力して「次へ」 「完了」 追加したアカウントをダブルクリックしてプロパティを開く 「サーバー」タブの「このサーバーは認証が必要」をチェック SMTP-Auth用ユーザ名、パスワードとシステムのユーザ名、パスワードを別々にする場合のみ「設定」ボタンをクリックして次の設定を行う ※SMTP-Auth用ユーザ名、パスワードとシステムのユーザ名、パスワードを別々にする場合のみ 「次のアカウントとパスワードでログオンする」をチェック 「アカウント名」にSMTP-Auth用ユーザ名を入力 「パスワード」にSMTP-Auth用パスワードを入力して「OK」 「IMAP」タブの「送信済みアイテムのパス」に「Sent」と入力 「IMAP」タブの「下書きのパス」に「Drafts」と入力して「OK」 「はい」 「OK」 |
■メールサーバー確認
・内部で同一ユーザ同士でメールの送受信 ・内部で他ユーザ間でメールの送受信 ・内部で外部(プロバイダのメールアドレス等)との送受信 ・内部で携帯との送受信※ ・外部(会社等)で同一ユーザ同士でメールの送受信 ・外部(会社等)で他ユーザ間でメールの送受信 ・外部(会社等)で外部(プロバイダのメールアドレス等)との送受信 ・外部(会社等)で携帯との送受信※ ※携帯はドメイン指定受信等でメールサーバーからのメールが拒否されないようにしておくこと |
■メール不正中継拒否テスト
RBL.JPで「ホスト名」に自宅サーバーのホスト名(例:centossrv.com)を入力して「Check」ボタンを押下する。 19種類のテストが行われ、ページ最後尾にno relays accepted.と表示されればOK。 |