前編としてUbuntu×Postfix×Dovecotを用いて送受信可能なメールサーバの構築を行い、
後編としてLet's Encryptを用いて証明書を取得しセキュアなメールサーバにするまでが目標です。
今回は「前編:Ubuntu×Postfix×Dovecotを用いて送受信可能なメールサーバの構築」
→後編はこちら
VPSの準備
ここではConoHa VPSで契約したVPSを使用しています。
以降の説明でもConoHa VPSを利用している前提で進めていきます。
メモリ:512MB
CPU:1Core
SSD:30GB
OS:Ubuntu20.04
ドメインを取得する
ここではお名前.comにて取得したドメインを使用しています
以降の説明でもお名前.comで取得したドメインを使用している前提で進めていきます
ネームサーバーを変更する
-
DNSにドメインを追加
ConoHaコントロールパネルにログイン後 DNSを選択してドメインリスト画面を表示
+ドメインを押してドメイン名にお名前.comで取得したドメインを登録
登録されたドメインを選択して展開しタイプがNSの値3つを確認する
※ネームサーバーを設定するにて利用します
-
DNSレコードを追加
えんぴつアイコンを選択して下記表を参考にDNSレコードを追加
タイプ 名称 TTL 値 A(通常) @ 3600 (VPSのIPアドレス) A(通常) mail 3600 (VPSのIPアドレス) A(通常) www 3600 (VPSのIPアドレス) MX @ 3600 ポイント先 mail.(ドメイン)
優先度 10NS @ 3600 ns-a1.conoha.io NS @ 3600 ns-a2.conoha.io NS @ 3600 ns-a3.conoha.io TXT @ 3600 v=spf1 +ip4:(VPSのIPアドレス) +ip6:2400:8500:1801:434:(VPSのIPアドレス) ~all VPSのIPアドレスはConoHaコントロールパネル > 該当ネームタグ > ネットワーク情報 で確認可能
上記表の設定参考例
-
ネームサーバーを設定する
お名前.com NAVIにログイン後 ドメイン > ドメイン機能一覧 > ネームサーバーの変更 で「ネームサーバー設定」画面を開く
該当のドメインを選択してその他タブより「DNSにドメインを追加」で確認したネームサーバ3つを設定
VPSにSSH接続してログインする
SSHクライアントソフトを用意する
ここではTeraTermをインストールして以降の操作を進めていきます
TeraTermでVPSに接続する
-
ConoHaコントロールパネルよりVPSのIPアドレスを確認
サーバーリストより該当のネームタグを選択
ネットワーク情報 > IPアドレスを確認
-
TeraTermからVPSに接続
TeraTermを起動しホストに先程確認したIPアドレスを入力して「OK」を押下
ユーザ名には「root」、パスフレーズにはサーバー追加時に設定したrootパスワードを入力して「OK」を押下
VPSへのログインが成功するとコンソール画面にroot@"IPアドレス"が表示されroot権限の操作が可能
-
一般ユーザを作成して思わぬ事故を回避する
誤操作等による事故を回避するためにもこの後の作業はsudo権限を付与した一般ユーザを作成して進める
# ユーザを追加 root@XXX-XX-XX-XXX:~# sudo adduser user1 Adding user `user1' ... Adding new group `user1' (1000) ... Adding new user `user1' (1000) with group `user1' ... Creating home directory `/home/user1' ... Copying files from `/etc/skel' ... New password: // 作成するユーザのPWを入力 Retype new password: // 上記で入力したPWを再度入力 passwd: password updated successfully Changing the user information for user1 Enter the new value, or press ENTER for the default Full Name []: // ENTER Room Number []: // ENTER Work Phone []: // ENTER Home Phone []: // ENTER Other []: // ENTER Is the information correct? [Y/n] // 追加したユーザにsudo権限を付与 root@XXX-XX-XX-XXX:~# sudo gpasswd -a user1 sudo Adding user user1 to group sudo
-
一般ユーザーで再接続する
ここまではrootで操作を行っていたので一度ログアウトして先ほど作成した一般ユーザで再接続を行う
# exitコマンドでログアウト root@XXX-XX-XX-XXX:~# exit
上記コマンドでTeraTermが終了するので再度起動して今度は一般ユーザでVPSに接続
コンソールに先ほど作成した一般ユーザの名前が表示されていればOK
# 接続後のコンソール画面を確認 user1@XXX-XX-XX-XXX:~$
ここまででメールサーバ構築までの事前準備が完了しました!
お疲れさまでした。いよいよメールサーバを構築していきます。
UbuntuにPostfixを用いて送信専用のメールサーバを構築する
メール配送用プログラム「Postfix」のインストール
下記コマンドを入力して「Postfix」をインストール
sudo apt-get -y install postfix
インストールが正常に進行すると下記GUIが表示されるので「OK」 > 「No configuration」の順に選択
インストール作業完了後下記コマンドで「Postfix」がインストール済みであることを確認
apt list --installed | grep postfix
> **postfix**/focal-updates,now 3.4.13-0ubuntu1.2 amd64 [installed]
Postfixの設定ファイルを編集
設定ファイル「main.cf」をコピー
下記コマンドで設定ファイルをコピー
コピーしたファイルは /etc/postfix/
に格納
# 「main.cf」ファイルのコピーを作成
sudo cp /usr/share/postfix/main.cf.dist /etc/postfix/main.cf
コピーした設定ファイル「main.cf」を編集
# viエディタで「main.cf」を開く
sudo vi /etc/postfix/main.cf
設定ファイルの編集にあたり以下操作方法を駆使して設定ファイルを編集
/
を入力して文字列の検索で設定項目を検索
i
を入力して編集モードに移行して設定ファイルを編集
esc
を入力してノーマルモードに移行
# コメント解除
alias_database = hash:/etc/aliases
# コメント解除
alias_maps = hash:/etc/aliases
# コメント解除
mail_owner = postfix
# コメント解除 ホスト名指定
myhostname = ホスト名+ドメイン名(例:mail.hoge.com)
# コメント解除 ドメイン名指定
mydomain = ドメイン名(例:hoge.com)
# コメント解除
myorigin = $mydomain
# コメント解除
inet_interfaces = all
# コメント解除
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
# コメント解除
local_recipient_maps = unix:passwd.byname $alias_maps
# コメント解除
home_mailbox = Maildir/
# コメントアウト
#html_directory =
# コメントアウト
#sample_directory
# コメントアウト
#readme_directory =
# 最下部に追加
masquerade_domains = ドメイン名(送信元サブドメインを削除するためのオプション設定 例:hoge.com)
上記設定ファイルの編集が完了したら:wq
で保存しviを終了
コンソールに戻り下記コマンドで設定内容の確認・チェックを行う
# 設定内容確認
postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
compatibility_level = 2
daemon_directory = /usr/lib/postfix/sbin
data_directory = /var/lib/postfix
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5
home_mailbox = Maildir/
inet_interfaces = all
inet_protocols = all
local_recipient_maps = unix:passwd.byname $alias_maps
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
masquerade_domains = (ドメイン名)
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
myhostname = mail.(ドメイン名)
mynetworks = 127.0.0.0/8
newaliases_path = /usr/bin/newaliases.postfix
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
unknown_local_recipient_reject_code = 550
# 設定内容チェック
sudo postfix check
# 以下エラーについては問題ない
postfix/postfix-script: warning: symlink leaves directory: /etc/postfix/./makedefs.out
# メールエイリアスのデータベースを再構築
newaliases
Postfixを再起動
下記コマンドでPostfixを再起動し設定内容を反映
# Postfixのステータス確認
sudo /etc/init.d/postfix status
起動後下記コマンドでPostfixのステータスを確認し正常起動していることを確認
# Postfixのステータス確認
sudo /etc/init.d/postfix status
● postfix.service - Postfix Mail Transport Agent
Loaded: loaded (/lib/systemd/system/postfix.service; enabled; vendor preset: enabled)
Active: active (exited) since Wed 2021-12-01 18:21:36 JST; 1 day 23h ago
Process: 160577 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 160577 (code=exited, status=0/SUCCESS)
Dec 01 18:21:36 118-27-69-174 systemd[1]: Starting Postfix Mail Transport A…t...
Dec 01 18:21:36 118-27-69-174 systemd[1]: Finished Postfix Mail Transport Agent.
Hint: Some lines were ellipsized, use -l to show in full.
ここまででPostfixによる送信用設定が完了
実際にテストメールを送信して確認
telnetで送信テストを実施
telnetをインストール
テストメールの送信にはtelnetを利用するため下記コマンドでインストール
# telnetインストール
sudo apt-get -y install telnet
# インストールされているかの確認
apt list --installed | grep telnet
telnetでSMTP接続
下記コマンドでSMTP接続を実行
# SMTP接続
telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mail.(ドメイン名) ESMTP Postfix (Ubuntu)
正常接続できればステータスコード.220が返る
入力待機状態となるため下記コマンドで応答する
# heloコマンドで応答
helo localhost
250 mail.(ドメイン名)
ステータスコード.250が返ればOK
次に下記コマンドで送信元のメールアドレスを指定
# mail fromコマンドで送信元を指定
mail from:(Ubuntuにログインしているユーザ名)@(ドメイン名)
250 2.1.0 Ok
ステータスコード.250が返ればOK
次に下記コマンドで送信先のメールアドレスを指定
※メールアドレスは実際に確認できるものを指定
# rcpt to: コマンドで送信先を指定
rcpt to:hoge@test.com(送信先のメールアドレス)
250 2.1.5 Ok
ステータスコード.250が返ればOK
次に下記コマンドでメール本文を入力
本文入力後 .
で入力を終了
# dataコマンドで本文入力
data
354 End data with <CR><LF>.<CR><LF>
testmail
.
250 2.0.0 Ok: queued as 4A3F1C04E0
ステータスコード.250が返りキューに入った旨が表示されれば送信完了
最後に下記コマンドでSMTP接続を切断
# quitコマンドでSMTP切断
quit
221 2.0.0 Bye
Connection closed by foreign host.
送信先の受信ボックスを確認してメールが届いているか確認
※迷惑メールとして受け取っていることがあるので確認できない場合はそちらを確認
メールログの確認
メールの受信が確認できない場合は以下コマンドでログを確認
# メールログの確認
sudo tail /var/log/mail.log
ここまでの作業で送信用のメールサーバー構築が完了しました。
次項から送受信可能なメールサーバの構築を行います。
「Dovecot」で送受信可能なメールサーバ構築
DNS設定の確認
hostコマンドを使えるように bind-utils
をインストール
# bind-utilsのインストール
sudo apt-get -y install bind-utils
ネームサーバーを変更する_DNSレコードを追加で設定したMXレコードを以下コマンドで確認
# MXレコードの確認
host -t mx (ドメイン名)
(ドメイン名) mail is handled by 10 mail.(ドメイン名)
設定したMXレコードが表示されることを確認
not foundの場合はDNSレコードを確認
dovecotのインストール
メールの受信に必要なパッケージ dovecot
をインストール
sudo apt-get -y install dovecot-common dovecot-imapd dovecot-pop3d
インストール後下記コマンドを実施し3種がinstalledになっていることを確認
apt list --installed | grep dovecot
> dovecot-core/focal-updates,now 1:2.3.7.2-1ubuntu3.5 amd64 [installed]
> dovecot-imapd/focal-updates,now 1:2.3.7.2-1ubuntu3.5 amd64 [installed]
> dovecot-pop3d/focal-updates,now 1:2.3.7.2-1ubuntu3.5 amd64 [installed]
Dovecotの設定編集
-
dovecot.confを変更
設定ファイルを編集する前に既存ファイルのバックアップを作成
# dovecot.confのコピーを作成 sudo cp -p /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.org
viで設定ファイルを編集
# viで設定ファイルを開く sudo vi /etc/dovecot/dovecot.conf # コメント解除して変更 listen = * # 最後尾に追加 disable_plaintext_auth = no
-
10-auth.confを変更
設定ファイルを編集する前に既存ファイルのバックアップを作成
# 10-auth.confのコピーを作成 sudo cp -p /etc/dovecot/conf.d/10-auth.conf /etc/dovecot/conf.d/10-auth.conf.org
viで設定ファイルを編集
# viで設定ファイルを開く sudo vi /etc/dovecot/conf.d/10-auth.conf # コメント解除して変更 disable_plaintext_auth = no # 変更 auth_mechanisms = plain login
-
10-mail.conf を変更
設定ファイルを編集する前に既存ファイルのバックアップを作成
# 10-mail.confのコピーを作成 sudo cp -p /etc/dovecot/conf.d/10-mail.conf /etc/dovecot/conf.d/10-mail.conf.org
viで設定ファイルを編集
# viで設定ファイルを開く sudo vi /etc/dovecot/conf.d/10-mail.conf # 変更 mail_location = maildir:~/Maildir
-
10-master.conf を変更
設定ファイルを編集する前に既存ファイルのバックアップを作成
# 10-master.confのコピーを作成 sudo cp -p /etc/dovecot/conf.d/10-master.conf /etc/dovecot/conf.d/10-master.conf.org
viで設定ファイルを編集
# viで設定ファイルを開く sudo 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** }
-
10-ssl.conf を変更
設定ファイルを編集する前に既存ファイルのバックアップを作成
# 10-ssl.confのコピーを作成 sudo cp -p /etc/dovecot/conf.d/10-ssl.conf /etc/dovecot/conf.d/10-ssl.conf.org
viで設定ファイルを編集
# viで設定ファイルを開く sudo vi /etc/dovecot/conf.d/10-ssl.conf # コメント解除して変更 ssl = no # コメントアウト #ssl_cert = </etc/dovecot/private/dovecot.pem #ssl_key = </etc/dovecot/private/dovecot.key
Dovecotの設定内容確認
以下コマンドでデフォルトから変更した設定項目を確認することが可能
# doveconfの設定確認
doveconf -n
# 2.3.7.2 (3c910f64b): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.7.2 ()
# OS: Linux 5.4.0-91-generic x86_64 Ubuntu 20.04.2 LTS
# Hostname: 123-45-67-890
auth_mechanisms = plain login
listen = *
mail_location = maildir:~/Maildir
mail_privileged_group = mail
namespace inbox {
inbox = yes
location =
mailbox Drafts {
special_use = \Drafts
}
mailbox Junk {
special_use = \Junk
}
mailbox Sent {
special_use = \Sent
}
mailbox "Sent Messages" {
special_use = \Sent
}
mailbox Trash {
special_use = \Trash
}
prefix =
}
passdb {
driver = pam
}
protocols = " imap pop3"
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0666
user = postfix
}
}
ssl = no
ssl_client_ca_dir = /etc/ssl/certs
ssl_dh = # hidden, use -P to show it
userdb {
driver = passwd
}
dovecotを再起動して設定を反映し、ステータスがActive: active (running)
となっていることを確認
# dovecotを再起動する
sudo systemctl restart dovecot
# dovecotのステータスを確認
systemctl status dovecot
下記コマンドでPOP3用110番ポート、IMAP4用143番ポートがアクティブになっていることを確認
# ポートの確認
netstat -nat
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN
Postfixの認証機能確認
下記コマンドでPostfixで対応している認証機能を確認
# 認証機能の確認
postconf -a
cyrus
dovecot
Postfixの設定編集
以下コマンドで設定ファイルをviで編集
# viでmain.cfを開く
sudo vi /etc/postfix/main.cf
# 最下部に追加
# SMTP-AUTH用パラメータ
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination
編集後下記コマンドで設定内容を確認
# Postfixの設定確認
postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
broken_sasl_auth_clients = yes
command_directory = /usr/sbin
compatibility_level = 2
daemon_directory = /usr/lib/postfix/sbin
data_directory = /var/lib/postfix
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5
home_mailbox = Maildir/
inet_interfaces = all
inet_protocols = all
local_recipient_maps = unix:passwd.byname $alias_maps
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
masquerade_domains = (ドメイン名)
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
myhostname = mail.(ドメイン名)
mynetworks = 127.0.0.0/8
newaliases_path = /usr/bin/newaliases.postfix
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtpd_banner = $myhostname ESMTP
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = private/auth
smtpd_sasl_type = dovecot
unknown_local_recipient_reject_code = 550
# Postfixの設定チェック
sudo postfix check
# 以下エラーについては問題ない
postfix/postfix-script: warning: symlink leaves directory: /etc/postfix/./makedefs.out
Postfixのサブミッションポートを設定
OP25B(迷惑メール対策設定)を行うためサブミッションポートの設定を行う
master.cfの編集
サブミッションポートの設定を行うためmaster.cfを編集する
作業前に下記コマンドで既存ファイルをコピーする
# master.cfをコピー
sudo cp -p /etc/postfix/master.cf /etc/postfix/master.cf.org
以下コマンドで設定ファイルを編集
# viでmaster.cfを編集
sudo vi /etc/postfix/master.cf
# コメント解除して変更
submission inet n - n - - smtpd
変更した設定を反映
下記コマンドでPostfixを再起動し設定内容を反映
ステータスがActive
となっていることを確認
# Postfixを再起動
sudo systemctl restart postfix
# Postfixのステータスを確認
sudo systemctl status postfix
Active: active (exited) since Sun 2021-12-12 20:18:33 JST; 41s ago
下記コマンドで587番ポートがアクティブとなっていることを確認
# ポートの確認
netstat -nat
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:587 0.0.0.0:* LISTEN
SMTP-AUTHとサブミッションポートの動作を確認
telnetコマンドで接続テスト
-
ユーザ情報をBASE64エンコード
Ubuntuにログインしているユーザ情報(ユーザ名とPW)を下記コマンドでBASE64エンコード
# ユーザ情報をBASE64エンコード perl -MMIME::Base64 -e 'print encode_base64("ユーザ名\0ユーザ名\0パスワード");' # サンプル perl -MMIME::Base64 -e 'print encode_base64("user\0user\0password");'
-
SMTP用25番ポートへSMTP-AUTHで認証確認
# telnetで25番ポートに接続する telnet localhost 25 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 mail.(ドメイン名) ESMTP Postfix (Ubuntu)
# ehloコマンドを叩く ehlo (ドメイン名) 250-mail.(ドメイン名) 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-AUTH PLAIN LOGIN 250-AUTH=PLAIN LOGIN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250-DSN 250-SMTPUTF8 250 CHUNKING
# AUTH PLAINコマンドを叩く AUTH PLAIN ←自身で入力 334 dXNlcjEAdXNlcjEAdXNlcjE= ←BASE64エンコードで出力したものを入力 235 2.7.0 Authentication successful
235 2.7.0 Authentication successful
が返ればOKquit
コマンドで接続を終了する -
サブミッション用587番ポートへSMTP-AUTHで認証確認
# telnetで587番ポートに接続する telnet localhost 587 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 mail.(ドメイン名) ESMTP Postfix (Ubuntu)
# ehloコマンドを叩く ehlo (ドメイン名) 250-mail.(ドメイン名) 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-AUTH PLAIN LOGIN 250-AUTH=PLAIN LOGIN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250-DSN 250-SMTPUTF8 250 CHUNKING
# AUTH PLAINコマンドを叩く AUTH PLAIN ←自身で入力 334 dXNlcjEAdXNlcjEAdXNlcjE= ←BASE64エンコードで出力したものを入力 235 2.7.0 Authentication successful
235 2.7.0 Authentication successful
が返ればOKquit
コマンドで接続を終了する
ファイアウォールの接続設定
以下コマンドでPostfixとDovecotに対してに対しての通信を有効化
sudo ufw allow Postfix
sudo ufw allow "Postfix SMTPS"
sudo ufw allow "Postfix Submission"
sudo ufw allow "Dovecot IMAP"
sudo ufw allow "Dovecot POP3"
sudo ufw allow "Dovecot Secure IMAP"
sudo ufw allow "Dovecot Secure POP3"
mailコマンドでテスト送信
以下コマンドでmailコマンドをインストール
# mailコマンドの入手
sudo apt install mailutils
- テストメール送信
以下コマンドでメールを送信
# メールを送信
mail (ユーザ名)
Cc:
Subject: test
testMail
.(ピリオドで終了しない場合ctrl+Dなどを試す)
下記コマンドでメールログを確認し、status=sent
となっていることを確認
# メールログの確認
sudo tail /var/log/mail.log
Dec 18 18:04:01 118-27-69-174 postfix/local[718682]: 8079DC065E: to=<user1@localhost>, relay=local, delay=0.02, delays=0.01/0.01/0/0, dsn=2.0.0, status=sent (delivered to maildir)
下記コマンドでメールの保存先が作成されていることを確認
# Maildirを確認
ls -al /home/(ユーザ名)/Maildir/
total 20
drwx------ 5 user1 user1 4096 Dec 18 17:46 .
drwxr-xr-x 4 user1 user1 4096 Dec 18 17:46 ..
drwx------ 2 user1 user1 4096 Dec 18 17:46 cur
drwx------ 2 user1 user1 4096 Dec 18 18:04 new
drwx------ 2 user1 user1 4096 Dec 18 18:04 tmp
クライアントアプリを使ってテスト
メールテスト用のユーザーを作成しThunderbirdを利用して確認を行う
- ユーザの追加
# ユーザ作成
sudo adduser ubuntu
-
POP3 × SMTP-AUTHでテスト
- thunderbirdにメールアカウントを設定
現時点では通信が暗号化されていないため警告が表示されるが、以降の作業でSSL/TLSの設定を行うためここでは一旦承諾
- クライアントでテスト送信
- SMTP-AUTHを使ってメールを外部にリレー配送
-
IMAP4 × SMTP-AUTHでテスト
現時点では通信が暗号化されていないため警告が表示されるが、以降の作業でSSL/TLSの設定を行うためここでは一旦承諾
IMAPの場合でも正常に接続できていることを確認
ここまでで送受信可能なメールサーバの構築が完了
次項でSSL/TLSの設定を行いセキュアなメールサーバに仕上げていきます。