2017年12月23日土曜日

[ubuntu]ローカルメールサーバを構築(解決)

メールサーバ構築は意味が分かりにくくはまりやすい。
ややこしいことはどうでもいいので、ともかくローカルでメールサーバ構築をする最低限の手順でまとめています。(example.jp ドメイン)
メール転送エージェント(MTA)は主に sendmail と postfix があるけれど、postfix が簡単ということなのでこっちを利用しました。
メールアカウントは ubuntu のシステムアカウントと紐づくので、手順中に maruton アカウントを作成してメール疎通確認をしています。
最後に POP3 でメールが受信できるよう、dovecot をセットアップします。
見事、maruton@example.jp のメールをリモートのWindowsマシンで受信することができました。

hosts ファイル

/etc/hosts を編集。
$ sudo vi /etc/hosts
hosts 127.0.0.1    localhost    example.jp


postfix

postfixをインストール。
$ sudo apt install postfix

設定ファイル
/etc/postfix/main.cf を下記の記述で書き換える。(既存の内容を消してしまってOK)
$ sudo vi /etc/postfix/main.cf
main.cf # ホスト名の設定
hostname = mail.example.jp

# ドメイン名の設定
mydomain = example.jp

# メール送信の設定
myorigin = $mydomain

# メール受信の設定
inet_interfaces = all

# ローカルに配送するドメイン
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

# 信頼するネットワーク
mynetworks = 127.0.0.0/8 192.168.19.0/24

# メールBOXの形式を指定
home_mailbox = Maildir/

postfixの再起動
$ sudo /etc/init.d/postfix restart

プロセス確認
$ ps aux | grep postfix

25番ポートがLISTENなのを確認
$ netstat -an | grep :25


メールボックスの作成

$ mkdir -p ~/Maildir/{new,cur,tmp}

$ sudo mkdir -p /etc/skel/Maildir/{new,cur,tmp}
$ sudo chmod -R 700 /etc/skel/Maildir/


アカウントを作成

$ sudo adduser maruton

管理者に設定
$ sudo usermod -G sudo maruton

ユーザーのスイッチ
$ su - maruton

※ここで Maildir ディレクトリができていることを確認
できてなかったら
$ mkdir -p ~/Maildir/{new,cur,tmp}

リブートして管理者になっているかも確認
$ sudo reboot


メール送信テスト

送信テストは mailutils
$ sudo apt install mailutils

$ mail maruton@localhost
Cc:
Subject: test
testtesttest
.       ---> ピリオドの行が必要!
<ctrl + D>  ---> ここ重要!

メール受信確認
$ su - maruton
$ mail -f ~/Maildir

メールが受信できてなかったら、~/Maildir がファイルになっていないかどうかチェック


dovecot

dovecot をインストール
$ sudo apt install dovecot-core dovecot-pop3d dovecot-imapd

設定ファイルの編集
$ sudo vi /etc/dovecot/dovecot.conf
dovecot.conf listen = *, ::  (30行目のコメントを解除)

$ sudo vi /etc/dovecot/conf.d/10-auth.conf
10-auth.conf disable_plaintext_auth = no   (10行目のコメントを解除し値を修正
auth_mechanisms = plain login     (最終行に追記)

$ sudo vi /etc/dovecot/conf.d/10-mail.conf
10-mail.conf mail_location = maildir:~/Maildir (30行目の値を修正)

$ sudo vi /etc/dovecot/conf.d/10-master.conf
10-master.conf # Postfix smtp-auth  (96~98行目)
unix_listener /var/spool/postfix/private/auth {      (コメントを解除)
    mode = 0666                (コメントを解除)
    user = postfix                (追記)
    group = postfix               (追記)
}                       (コメントを解除)

dovecot を再起動
$ systemctl restart dovecot


ホストOSで受信確認

ホストOS の hosts ファイルの編集。
hosts 192.168.19.128    example.jp

Thunderbird でメール受信確認
メールアドレス: maruton@example.jp

これでメールが受信できれば、完了です。


→ WordPressのインストール
→ htmlのフォームからPHPでメール送信

0 件のコメント:

コメントを投稿