実現する機能
自宅にメールサーバーを構築するのは、受信だけなら問題ないのですが、送信するとなると困難です。危いメール扱いされるので、どこのメールサーバーも着信を拒否するからです。
こういう現状でも自宅にメールサーバーを構築するメリットは、
フリーメールだと身元を怪しまれる
添付ファイルの制限も大幅に緩和できる
yahoo、gmail、レンタルサーバーに送られた自分宛のメールすべてを自宅サーバーに転送させて一度に確認できる
ことです。
構築するサーバーは、送信メールサーバー(SMTPサーバー)と受信メールサーバー(POP/IMAPサーバー)です。送信メールサーバーにはPostfix、受信メールサーバーにはDovecotを採用しています。
自宅のメールサーバーは、SMTP-Auth機能を構築してインターネットでメールを送信しています。
※SMTP-Auth機能とは、メール送信時にインターネットプロバイダのユーザ名とパスワードで認証を行なう機能で、迷惑メールの不正中継に利用されないためのものです。softbank光をプロバイダで使っていますが、SMTP-Auth機能が使えなかったので、Gmailを使って外部へメール送信できるようにしています。
以下は、その備忘録です。
事前準備(下記サイトで確認のこと)
Postfixの導入手順
TeraTermでコマンドを使う方法を理解しておくこと。以下の記述ではTeraTerm画面を表示しています。紫色はキーボードから入力するコマンド(コピペした方が楽ですが、コマンドは覚えられません)、緑はコマンドや処理内容の説明、白は自動表示する部分、赤は注意書きです。tuは私のユーザー名、topi.0t0.jpは私のドメイン名ですので、ご自分のものに置き換えて設定してください。
(1)Postfix設定
| #Postfix設定ファイル編集。インストールが必要なら yum -y install postfix [root@e4vlm0ra ~]# vi /etc/postfix/main.cf # INTERNET HOST AND DOMAIN NAMES # The mydomain parameter specifies the local internet domain name. # SENDING MAIL # RECEIVING MAIL #… # STANDARD_CONFIGURATION_README). # DELIVERY TO MAILBOX # SHOW SOFTWARE VERSION OR NOT #以下を最終行へ追加(SMTP-Auth設定) #postfix再起動 #postfix自動起動設定 |
(2)SMTP-Auth設定
SMTP-Auth用ユーザ名、パスワードにシステムのユーザ名、パスワードを使用します。
| #saslauthd Install [root@e4vlm0ra ~]# yum install cyrus-sasl cyrus-sasl-plain インストール: dovecot.x86_64 1:2.2.10-8.el7 依存性関連をインストールしました: 完了しました! #saslauthd起動 #saslauthd自動起動設定 #postfix再起動 |
Dovecotの導入手順
(1)Dovecotインストール
| #Dovecotインストール [root@e4vlm0ra ~]# yum -y install dovecot インストール: dovecot.x86_64 1:2.2.10-4.el7_0.1 完了しました! #dovecot.confの設定 #10-auth.confの設定 # Space separated list of wanted authentication mechanisms: #10-ssl.confの設定(sslの設定がまだならこちら) #10-mail.confの設定 #10-master.confの設定 #Dovecot起動 #Dovecot自動起動設定 |
OP25B対策(SMTP-Auth機能)
(1)Postfix設定
| #main.cfの編集 [root@e4vlm0ra ~]# vi /etc/postfix/main.cf #最下行に追記 (cert、keyファイルは自身が取得した証明書に置き換え) smtpd_use_tls = yes smtp_tls_mandatory_protocols = !SSLv2, !SSLv3 smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3 smtpd_tls_cert_file = /etc/letsencrypt/live/topi.0t0.jp/fullchain.pem smtpd_tls_key_file = /etc/letsencrypt/live/topi.0t0.jp/privkey.pem smtpd_tls_session_cache_database = btree:/etc/postfix/smtpd_scache #master.cfの編集 |
(2)SMTP認証情報設定
| #GmailのSMTP認証情報設定 [root@ ~]# echo [smtp.gmail.com]:587 your-user-name@gmail.com:your-password > /etc/postfix/sasl_passwd smtp.gmail.com・・・SMTPサーバー名 #root以外書き込みできないようにパーミッション変更 #sasl_passwd.db作成 #Gmailのsmtpサーバーを利用 以下を最終行へ追記(「topi.0t0.jp」は例示) #Postfix設定反映 |
(3)ポート993番(IMAPの場合)等のOPEN確認
※注意1VPSの設定でポートは開けていること
※注意2CentOS7.4インストール後の初期設定でファイアーウオールは無効にしてあること
a ここをクリックして、下図の画面を表示させ、赤枠1に構築したメールサーバーのドメイン名を入力し、赤枠2にポート番号「993」を入力して、赤枠3にチェックを入れ、赤枠4の「Portチェック実行」をクリック。
b 赤枠1でアクセスできていることを確認して、赤枠2の「前のページへ戻る」をクリック。
465番(SMTPS:送信)、587番(OP25対策)、25番(SMTP:送信)、143(IMAP:受信)も開放されていることを確認のこと。
(4)メールの送信テスト
| #メールできるかをテストするため、mailxをインストール。 [root@e4vlm0ra ~]# yum -y install mailx インストール済み: mailx-12.5-29.el8.x86_64 完了しました! #メールできるかをテスト。自分のヤフーメール宛てに送信してみた。 |
(5)Gmailアドレスではなく、自社のアドレスでメールを送信する方法の設定
(イ)ここをクリックして自分のGmailを開き、画面右上にある赤枠1の歯車のアイコンをクリックし、表示される一覧から赤枠2の「設定」をクリック

(ロ)赤枠の「アカウントとインポート」をクリック

(ハ)赤枠の「他のメールアドレスを追加」をクリック

(ニ)赤枠1に自宅メールサーバーで使っている自分のメールアドレスを入力し、「エイリアスとして使います。」のチェックを外し、赤枠2の「次のステップ」をクリック。名前欄には、あなたのGmailに登録した名前が表示されます

(ホ)赤枠1に自宅のSMTPサーバー名、自宅サーバー上のあなたのユーザー名とパスワードを入力し、ポート番号は587を選択して、赤枠2の「アカウントを追加」をクリック

(ヘ)登録したメールアドレス宛に「確認コード」とリンク先が送られてくるので、コードをメモるかリンク先をクリック

(ト)赤枠1に従いリンク先をクリックするか、赤枠2に従い確認コードを入力して「確認」をクリックする

(チ)赤枠に送信に使ったメールアドレスが表示されていれば成功

(6)再度メールの送信テスト
| #メールできるかをテスト。自分のヤフーメール宛てに送信してみた。 [root@e4vlm0ra ~]# echo “自宅サーバー万歳” | mail -s “自宅サーバーでメール送信” -r xx@topi.0t0.jp xx@yahoo.co.jp 以上 |




