コンテンツ
何とかできましたが、次にするときに絶対忘れていそうなので未来の自分用にメモ。
使えるようにしたいメールアドレス
info@XXX.sakura.ne.jp
infoがアカウント名、XXX.sakura.ne.jpがVPSに割り当てられたホスト名です。
このメールアドレスを受信、送信可能にするまでをメモ。
postfix
最初から入っているようです。
設定は/etc/postfix/main.cf。ホスト名はXXX.sakura.ne.jpとしています。設定は末尾で一括して行なうため、ちょっと変わった方法で設定しています。この方法より参考リンクにあるCentOS 6 – MAILサーバー – Postfix インストール/設定 : Server Worldがわかりやすいと思います。
(作業) 116行目をコメント化 inet_interfaces = localhost ↓ 119行目をコメント化 inet_protocols = all ↓ 164行目をコメント化 mydestination = $myhostname, localhost.$mydomain, localhost ↓ 以下、末尾に追加 ## myconfig(hosts) myhostname = XXX.sakura.ne.jp mydomain = XXX.sakura.ne.jp myorigin = $mydomain inet_interfaces = all inet_protocols = ipv4 mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain ## myconfig(smtp-etc) home_mailbox = Maildir/ body_checks = regexp:/etc/postfix/body_checks smtpd_banner = $myhostname ESMTP message_size_limit = 10485760 mailbox_size_limit = 1073741824 ## myconfig(smtp-authentication) 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
■新規ユーザ追加時に、メールを保存するディレクトリを作成するようにする
# mkdir -p /etc/skel/Maildir/{new,cur,tmp} # chmod -R 700 /etc/skel/Maildir/
■メール送受信用のユーザを作成する
# adduser info -s /sbin/nologin # passwd info
このとき入力したパスワードがメール送受信用のパスワードになります
■SMTP認証用サービスsaslauthdを起動する
# /etc/rc.d/init.d/saslauthd start saslauthd を起動中: [ OK ] # chkconfig saslauthd on
■/etc/postfix/main.cfの変更を反映させるために、postfixを再起動する
# /etc/rc.d/init.d/postfix restart
dovecot
/etc/dovecot/dovecot.conf
21行目に追加
protocols = imap pop3
/etc/dovecot/conf.d/10-mail.conf
mail_location = maildir:~/Maildir
/etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = no
/etc/dovecot/conf.d/10-master.conf
85-90行目あたり
85 # Postfix smtp-auth 86 unix_listener /var/spool/postfix/private/auth { 87 mode = 0666 88 user=postfix 89 group=postfix 90 }
クライアント設定
とりあえずThunderBirdで設定した項目だけメモ。最終的に送信サーバ
送受信テスト
ここまでの設定がうまく行っていると、メールソフトで
info@XXX.sakura.ne.jp あてに送信したメールが受信できる
info@XXX.sakura.ne.jpから別のメールアドレスにメールが送信できる
ようになっているはず。送信の方が難しいので、先に受信ができるかどうかを確かめておいたほうが良いと思います。
一通りやったがうまくいかない。色々試行錯誤しながら検索してみると、以下の二つが原因だったようです。
1.infoというアカウントが/etc/aliasesで、最初から別名定義されていて転送されている。このままだとinfo宛に来たメールがpostmaster→rootへ全部送られる。
#info: postmaster ↓ info: postmaster
#service postfix reload
2.外部(自分の手元のPC)からメールソフトを使ってメールを送る場合は25番ポートでは無理っぽい。さくらのVPSは本契約しているのでOP25B対策は解除されているはずだけど、ポート587のsubmissionで送った方が良いみたいなのでそうする。
postfix /etc/postfix/master.cfでsubmissionを有効にする
12行目 #submission inet n - n - - smtpd ↓ submission inet n - n - - smtpd
その後 # service postfix reload で設定反映。
3.ファイアウォール設定
# system-config-firewall-tui
参考リンク
CentOS 6 – MAILサーバー – Postfix インストール/設定 : Server World
CentOS 6 – MAILサーバー – Dovecot インストール/設定 : Server World
メールサーバー構築(Postfix+Dovecot) – CentOSで自宅サーバー構築