自宅サーバ構築MY HOME SERVER
メールサーバ(Postfix / Dovecot) Postfixの設定 Dovecotの設定 メール不正中継テスト メールクライアントの設定 |
- メールサーバ(Postfix / Dovecot) -
メール送受信をするSmtpサーバにはPostfixを使います。受信したメールをユーザのメールボックス
に運ぶPop/ImapサーバはDovecotを使用します。外部ドメインからもメールクライアントで自宅サーバ
にアクセスできるように設定します。メールアカウントの追加もします。メールサーバ使用に当たって
iptables及びルータのポート(25,110,143,587,993,995)を開放する必要があります。SSL証明書
も事前に作成していることが、前提条件です。
- 注意点 -
設定に入る前に、現在使用しているISP(インターネットサービスプロバイダ)のSmtpサーバ
のアドレスを調べてください。そのアドレスを設定内容のrelayhost = [ISP名]に記入する必要があります。
Google等で、自宅サーバ relayhost ISP名 等で検索すると情報が出てくると思います。サンプル記述例
は下記のとおりです。この設定をしない場合、外部ドメインにメール送信ができません。
例1 朝日ネット relayhost = [op25b.asahi-net.or.jp]
例2 YahoBB relayhost = [ybbsmtp.mail. yahoo.co.jp]:587
例3 so-net relayhost = [mail.xa2.so-net.ne.jp]
- Postfixの設定 -
まずは、Posftixの設定をします。サーバ取得・インストールの手順どおり進んでいれば、既に インストールされています。
[root@hoge123 ~]# vi /etc/postfix/main.cf #myhostname = virtual.domain.tld ↓ 先頭の#を削除して、変更します myhostname = hoge123.dip.jp #mydomain = domain.tld ↓ 先頭の#を削除して、変更します mydomain = hoge123.dip.jp #myorigin = $mydomain ↓ 先頭の#を削除します myorigin = $mydomain #inet_interfaces = all ↓ 先頭の#を削除します inet_interfaces = all inet_interfaces = localhost ↓ 先頭に#を付けて、コメントアウトします。 #inet_interfaces = localhost #mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain ↓ 先頭の#を削除します mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain #mynetworks_style = subnet ↓ 先頭の#を削除します mynetworks_style = subnet #home_mailbox = Maildir/ ↓ 先頭の#を削除します home_mailbox = Maildir/ #header_checks = regexp:/etc/postfix/header_checks ↓ 先頭の#を削除します header_checks = regexp:/etc/postfix/header_checks body_checks = regexp:/etc/postfix/body_checks ← 下に追記します。 smtpd_banner = $myhostname ESMTP ← #smtpd_bannerのある辺りに、追記します。 ↓ 最終行に追記します。 relayhost = [mail.xa2.so-net.ne.jp] ← 環境に合わせてください。 smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous smtpd_sasl_local_domain = $myhostname smtpd_client_restrictions = permit_mynetworks,reject_unknown_client,permit smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject ← 実際は1行で追記してください。 smtpd_use_tls = yes smtpd_tls_cert_file = /etc/ssl/server.crt smtpd_tls_key_file = /etc/ssl/server.key smtpd_tls_session_cache_database = btree:/etc/postfix/smtpd_scache |
次いで、アドレスのないメールやexample.comが含まれているメール拒否の設定をします。 それと、サブミッションポート587番でもPostfixがSMTPサーバとして待ち受けをするようにします。
[root@hoge123 ~]# vi /etc/postfix/header_checks ↓ 先頭辺りに貼り付けます。 /^From:.*<#.*@.*>/ REJECT /^Return-Path:.*<#.*@.*>/ REJECT [root@hoge123 ~]# vi /etc/postfix/body_checks ← 新規作成します。 /^(|[^>].*)example.com/ REJECT [root@hoge123 ~]# vi /etc/postfix/master.cf #submission inet n - n - - smtpd ↓ #を削除します。 submission inet n - n - - smtpd #smtps inet n - - - - smtpd ↓ #を削除します。 smtps inet n - - - - smtpd ↓ すぐ下にある以下の二項目の、#を削除します # -o smtpd_tls_wrappermode=yes ↓ -o smtpd_tls_wrappermode=yes # -o smtpd_client_restrictions=permit_sasl_authenticated,reject ↓ -o smtpd_client_restrictions=permit_sasl_authenticated,reject |
ユーザーアカウントの追加方法です。例としてlinux123を追加します。追加後は、linux123@hoge123.dip.jp と言うメールアカウントが使用できます。(linux123のパスワードはメール設定で使用しますので、忘れな いでください)
[root@hoge123 ~]# useradd linux123← 任意のユーザ名を追加します。 [root@hoge123 ~]# passwd linux123 Changing password for user linux123. New password: ← 設定したいパスワードを入力します。 Retype new password: ← パスワード再入力 passwd: all authentication tokens updated successfully. |
- Dovecotの設定 -
Dovecotのインストール、設定をします。
[root@hoge123 ~]# yum -y install dovecot [root@hoge123 ~]# vi /etc/dovecot/dovecot.conf #listen = *, :: ↓ 先頭の#を削除、変更します。 listen = * [root@hoge123 ~]# vi /etc/dovecot/conf.d/10-auth.conf #disable_plaintext_auth = yes ↓ 先頭の#を削除、変更します。 disable_plaintext_auth = no auth_mechanisms = plain ↓ 変更します。 auth_mechanisms = plain login [root@hoge123 ~]# vi /etc/dovecot/conf.d/10-mail.conf # mail_location = maildir:~/Maildir ↓ 先頭の#を削除します。 mail_location = maildir:~/Maildir [root@hoge123 ~]# vi /etc/dovecot/conf.d/10-master.conf # Postfix smtp-auth #unix_listener /var/spool/postfix/private/auth { # mode = 0666 #} ↓ 以下の通り変更します。 # Postfix smtp-auth unix_listener /var/spool/postfix/private/auth { mode = 0666 user = postfix ← 追記します。 group = postfix ← 追記します。 } ← #を削除します。 [root@hoge123 ~]# vi /etc/dovecot/conf.d/10-ssl.conf #ssl = yes ↓ 先頭の#を削除します。 ssl = yes ssl_cert = </etc/pki/dovecot/certs/dovecot.pem ↓ 変更します。 ssl_cert = </etc/ssl/server.crt ssl_key = </etc/pki/dovecot/private/dovecot.pem ↓ 変更します。 ssl_key = </etc/ssl/server.key [root@hoge123 ~]# /etc/rc.d/init.d/postfix restart Shutting down Postfix: [ OK ] Starting Postfix: [ OK ] [root@hoge123 ~]# chkconfig postfix on [root@hoge123 ~]# /etc/rc.d/init.d/dovecot start Starting Dovecot Imap: [root@hoge123 ~]# chkconfig dovecot on |
- メール不正中継テスト -
smtpサーバを外部に公開するときは、第3者に自宅のsmtpサーバを勝手に利用されないようにしなければなりません。 不正中継されないか、Third Party Relay Chekck を実行します。
「ホスト名」にhoge123.dip.jpといれ「check」ボタンをクリックします。1分位待つと、結果が表示されます。最終行に「全てのテストが行われました。 no relays accepted」と表示されれば、不正中継テストはパスしています。
- メールクライアントの設定 -
OUTLOOK EXPRESS編
一旦、Smtp-Authが動作するか、メールソフトに設定します。下記設定をします。 「このサーバーは認証が必要」にチェックを入れ、「設定」ボタンをクリックします。
「受信メールサーバーと同じ設定を使用する」を選択して、「OK」ボタンを押します。
「詳細設定」では、「送信メール」は465、「受信メール」は995とします。両方とも「 このサーバーはセキュリティで保護された接続(SSL)が必要」にチェックを入れます。
POPアカウントの他に、IMAPアカウントでも使用できます。その場合も、 「受信メールサーバーと同じ設定を使用する」を選択して、「OK」ボタンを押します。
「送信メール」は465、「受信メール」は993です。両方とも「 このサーバーはセキュリティで保護された接続(SSL)が必要」にチェックを入れます。
WINDOWS LIVE メール編
「送信メール」465、「受信メール」995(IMPAの場合993)に変更します。 両方とも「このサーバーはセキュリティで保護された接続(SSL)が必要」にチェックを 入れ、保存します。設定内容は、他のメールソフトでも同じです。
セキュリティ警告が表示されますが、「はい」を選択します。
送受信テストをします。これで暗号化された通信が可能になります。
※ 自宅サーバ構築(Scientific Linux6.3)に戻る