Ubuntuメールサーバー

メールサーバーの設定を行った。(2014年9月7日再編集)

OS Ubuntu 12.04

各種設定の意味はこれを参考にすると分かる。
Ubuntu 14.04 : MAILサーバー インストールと設定 : Server World
ただし、やり方はなるべく手動の設定が少ない以下のやり方にした。

送受信メールサーバーにはPostfix、メールサーバーとメーラーの通信にはDovecotを使う。
apt-get install postfix dovecot-common dovecot-pop3d dovecot-imapd sasl2-bin

postfix
設定ファイルは /etc/postfix/main.cf にある。
ubuntuの場合、インストール時にチュートリアルの質問に答えていけば、動くようになる。
internetを選択し、ドメイン名を確認する。

sudo vi /etc/postfix/main.cf で中身を確認
myhostname = ドメイン
になっていることを確認する。自分の場合はここが違っていた。
omnioo lab. record | オムニオラボ WEB, ITのお話 Homepageを作る

ココらへんで、mailコマンドで送受信ができているかをチェックする。
mail コマンドでメールを送る – DACELO SPACE


Maildir形式を使えるように、
sudo postconf -e "home_mailbox = Maildir/"
とする。
さくらのVPS上の Ubuntu 12.04 に postfix をインストール

注 sudo postconf -e "mailbox_command =" はダメ

sudo vi /etc/postfix/main.cfで
#mailbox_command =
コメントアウトする。
postfixでMaildirとSMTP-AUTH: masahilog

なお、この設定をすると
mailとしてもno mailとなる。~/Maildir/new以下にメールがあるのを確認できれば良し。

sudo vi /etc/postfix/main.cf
の# 以下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
とする。
Ubuntu 14.04 : MAILサーバー インストールと設定 : Server World

プロバイダーによっては、サーバへのアクセス(25番ポート)が使えないことがあるので、587番のSubmissionポートを使った送受信にも対応させる必要がある。
/etc/postfix/master.cf の
#submission 〜
となっているところの頭の#を取って、
submission 〜
とする。

ls -l -a ~/Maildir/
で、ディレクトリを確認。ownerがユーザー名になってないとpermission errorになるので、
sudo chown -R user名 ~/Maildir/
でownerをユーザーにする。

最後に、postfixの再起動。

ここで、メーラーで受信ができるようになる。

ls -l -a ~/Maildir/
cur new .Sent tmp .Trash
ができているかを確認。メーラーによっては、
.Sent Msseage (Mac Mail)
.Delete Message (Thunderbird)
を作るので、これら削除し調整する。


送信のためにdovecotの設定とsaslauthdの設定
uayeb » メールサーバの設定(postfix, dovecot, sasl2=saslauthd)を参考した。

ただしdovecotの設定は特にない。

10-master.confが以下のようになっていることを確認。なっていなければ、変更する。

root@mail:~# 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
}



saslauthdの設定は以下の通り。

/etc/default/saslauthd の冒頭の
start = no を
start = yes に変更。
次に、 /etc/postfix/sasl の下に smtpd.conf というファイルを作り、
pwcheck_method: auxprop
と記述。

ユーザー名とパスワードを設定する必要がある。
saslpasswd2 -c -u example.com username

これで作られたパスワードは、/etc/sasldb2に保存される。

/etc/sasldb2の所有者グループを(rootから)postfixに変更
chgrp postfix /etc/sasldb2

rootはこのファイルを読み書きでき、グループユーザー(postfix)は読み出しのみができ、それ以外の人は読み書き禁止。
chmod 640 /etc/sasldb2

postfixがアクセス可能な/var/spool/postfix/etc内に、sasldb2のリンクを張る
ln /etc/sasldb2 /var/spool/postfix/etc

あとは、再起動すればOK。
/etc/init.d/saslauthd restart


最後にFirewall ufwの設定を行う。
Linux Salad: ufwでファイアーウォールを設定
空けとくポートはとりあえず、
メールの送受信ポートについて
にあるのを参考にした。

22,25,143,587
とりあえず、設定して使わないのは、閉じたほうが良さそう。ssh 22番は必須。

参考
Ubuntu 13.04 - MAILサーバー - Postfix インストール/設定 : Server World
Postfix SASL How
Ubuntu 13.04 - MAILサーバー - Dovecot インストール/設定 : Server World
さくらVPSにUbuntuインストール後の設定メモ その3 -- メールサーバー Postfix + Dovecot - 牌語備忘録 -pygo
Ubuntu 13.04 - MAILサーバー - Postfix インストール/設定 : Server World
Debian(Ubuntu)でDovecotでメールを受信する ( POP3s,IMAPs ( STARTTLS or SSL/TLS ) にも対応 ) | レンタルサーバー・自宅サーバー設定・構築のヒント