自宅サーバ構築MY HOME SERVER
メールサーバ(Postfix / Dovecot) Postfixのインストール・設定 Dovecotのインストール・設定 メール不正中継テスト メールクライアントの設定(1) SSL(暗号化) メールクライアントの設定(2) |
- メールサーバ(Postfix / Dovecot) -
メール送受信をするSmtpサーバにはPostfixを使います。受信したメールをユーザのメールボックス
に運ぶPop/ImapサーバはDovecotを使用します。外部ドメインからもメールクライアントで自宅サーバ
にアクセスできるように設定します。メールアカウントの追加もします。メールサーバ使用に当たって
iptables及びルータのポート(25,110,143,587,993,995)を開放する必要があります。
- 注意点 -
設定に入る前に、現在使用している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 ~]# yum -y install postfix [root@hoge123 ~]# vi /etc/postfix/main.cf # 76行目付近、コメント解除しホスト名を入力します。 myhostname = hoge123.dip.jp # 83行目付近、コメント解除しドメイン名を入力します。 mydomain = hoge123.dip.jp # 99行目付近、コメント解除します。 myorigin = $mydomain # 116行目付近、コメント解除します。 inet_interfaces = all # 119行目付近、変更します。 inet_protocols = ipv4 # 164行目付近、コメント解除します。 mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain # 264行目付近、コメントを解除して、自分のネットワークを追記します。 mynetworks = 127.0.0.0/8, 192.168.0.0/24 # 318行目付近、契約ISPのSMTPアドレスを入力します。 入力しない場合、ローカルネットワーク内でしか送信できません。 relayhost = [xxx.xxx.xx-xx.xxx.xx] # 419行目付近、コメント解除します。 home_mailbox = Maildir/ # 548行目付近、コメント解除します。 header_checks = regexp:/etc/postfix/header_checks # すぐ下に追記します。 body_checks = regexp:/etc/postfix/body_checks # 574行目付近、先頭に#を付けて、その下に追記します。 #smtpd_banner = $myhostname ESMTP $mail_name (@@DISTRO@@) smtpd_banner = $myhostname ESMTP # 最終行へ追記します。送受信メールサイズを10Mに制限します。 message_size_limit = 10485760 # メールボックスサイズを1Gに制限に制限します。 mailbox_size_limit = 1073741824 # SMTP-Authを使うため、追記します。 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 ↑ ここはpermit_auth_destination,の続きです。実際には、1行にしてください。 |
次いで、アドレスのないメールや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 ~]# systemctl stop sendmail.service [root@hoge123 ~]# systemctl disable sendmail.service [root@hoge123 ~]# alternatives --config mta ← メール送受信サービスをPostfixに変更します。 Selection Command ----------------------------------------------- *+ 1 /usr/sbin/sendmail.sendmail 2 /usr/sbin/sendmail.postfix Enter to keep the current selection[+], or type selection number: 2 [root@hoge123 ~]# vi /etc/postfix/master.cf #submission inet n - n - - smtpd ↓ 変更後 (#を削除します。) submission inet n - n - - smtpd [root@hoge123 ~]# systemctl start postfix.service [root@hoge123 ~]# systemctl enable postfix.service |
ユーザーアカウントの追加方法です。例としてfedora123を追加します。追加後は、fedora123@hoge123.dip.jp と言うメールアカウントが使用できます。(fedora123のパスワードはメール設定で使用しますので、忘れな いでください)
[root@hoge123 ~]# user fedora13← 任意のユーザ名を追加します。 [root@hoge123 ~]# passwd fedora123 New UNIX password: ← 設定したいパスワードを入力します。 Retype new UNIX password:# ← パスワード再入力 passwd: all authentication tokens updated successfully. |
- Dovecotのインストール・設定 -
Dovecotのインストールをします。
[root@hoge123 ~]# yum -y install dovecot [root@hoge123 ~]# vi /etc/dovecot/dovecot.conf # 21行目付近、追記します。 protocols = imap imaps pop3 pop3s lmtp # 26行目付近、先頭の#を削除して、変更します。 listen = * [root@hoge123 ~]# vi /etc/dovecot/conf.d/10-auth.conf # 9行目付近、#を削除して変更します。 disable_plaintext_auth = no # 99行目付近、loginを追記します。 auth_mechanisms = plain login [root@hoge123 ~]# vi /etc/dovecot/conf.d/10-mail.conf # 30行目付近、先頭の#を削除します。 mail_location = maildir:~/Maildir [root@hoge123 ~]# vi /etc/dovecot/conf.d/10-master.conf # 96-98行目付近、下記の通り#を削除して追記します。 # 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 # 8行目付近、変更します。 ssl = no [root@hoge123 ~]# systemctl start dovecot.service [root@hoge123 ~]# systemctl enable dovecot.service |
- メール不正中継テスト -
smtpサーバを外部に公開するときは、第3者に自宅のsmtpサーバを勝手に利用されないようにしなければなりません。 不正中継されないか、Third Party Relay Chekck を実行します。
「ホスト名」にhoge123.dip.jpといれ「check」ボタンをクリックします。1分位待つと、結果が表示されます。最終行に「全てのテストが行われました。 no relays accepted」と表示されれば、不正中継テストはパスしています。
- メールクライアントの設定(1) -
OUTLOOK EXPRESS編
一旦、Smtp-Authが動作するか、メールソフトに設定します。下記設定をします。 「このサーバーは認証が必要」にチェックを入れ、「設定」ボタンをクリックします。
「受信メールサーバーと同じ設定を使用する」を選択して、「OK」ボタンを押します。
「詳細設定」では、「送信メール」は587、「受信メール」は110とします。
POPアカウントの他に、IMAPアカウントでも使用できます。その場合も、 「受信メールサーバーと同じ設定を使用する」を選択して、「OK」ボタンを押します。
「送信メール」は587、「受信メール」は143です。
WINDOWS LIVE メール編
下記設定をします。「このサーバーは認証が必要」にチェックを入れ、「設定」ボタンをクリックします。
「受信メールサーバと同じ設定をする」を選択します。「OK」ボタンをクリックします。
「詳細設定」では、「送信メール」は587、「受信メール」は110とします。
- SSL(暗号化) -
YahooやGoogle、hotmailアカウントがあれば、送受信テストをします。外出先でも、この設定をパソコンにすれば 自宅サーバ経由でメールの送受信が出来ます。ただし、通信内容が暗号化されていません。平文で流れるため 暗号化(SSL)設定をします。事前にSSL証明書を作成していることが必要です。
Posftix及びDovecotの設定内容変更・保存します。
[root@hoge123 ~]# vi /etc/postfix/main.cf - 最終行に以下内容を追加します - smtpd_use_tls = yes smtpd_tls_cert_file = /etc/ssl/private/server.crt smtpd_tls_key_file = /etc/ssl/private/server.key smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache [root@hoge123 ~]# vi /etc/postfix/master.cf 22-24行目、行頭の#を削除して、有効にします。 smtps inet n - - - - smtpd -o syslog_name=postfix/smtps -o smtpd_tls_wrappermode=yes [root@hoge123 ~]# vi /etc/dovecot/conf.d/10-ssl.conf 8行目、行頭の#を削除します。 ssl = yes 14,15行目、証明書/鍵ファイルのパスを下記の通り変更します。 ssl_cert = </etc/ssl/server.crt ssl_key = </etc/ssl/server.key [root@hoge123 ~]# systemctl restart postfix.service [root@hoge123 ~]# systemctl restart dovecot.service |
- メールクライアントの設定(2) -
Windows Live メール編
既にSmtp-Authの設定をしている事を前提に、下記の変更をメールソフトにします。 「送信メール」465、「受信メール」995(IMPAの場合993)に変更します。 両方とも「このサーバーはセキュリティで保護された接続(SSL)が必要」にチェックを 入れ、保存します。設定内容は、他のメールソフトでも同じです。
セキュリティ警告が表示されますが、「はい」を選択します。
送受信テストをします。これで暗号化された通信が可能になります。