メールサーバの移行

イメージ
 自前のメールサーバを停止 これまで、自ドメインのメールサーバはVPS上に構築していた。 ・Ubuntu Server ・Postfix ・Dovecot ・spamAssassinと、BlackListの利用 Spam対策を行ってきたし、サーバ上でメールをトリガーにして各種プログラムを動かしたりしてきた。 メールサーバのメンテナンスは結構面倒くさくて、  ・Disk容量のチェック  ・不正アクセスのチェック  ・各種セキュリティパッチの適用 など、手間がかかる。 そこで、外部のサーバを利用することに…。 結構安くて使い勝手の良さそうなのが、「さくらのメールボックス」 3年契約で、3070円とな…。  メールアドレスは自分のだけなので、20GBまで利用可能!  (Gmailより大きいねぇ) ということで、早速契約。 アカウント設定を行って、既存のDNSを書き換える。WHOISも書き換えて完了。 SMTPとIMAPが利用できればOK。 ちょうど、GoogleがSPF設定していないと受信しないし、DKIMおよびDMARCに対応していないメールを弾くようになったので、対応しているのを確認。 さくらサーバ自体は、これまでお客さんのサーバとして何件も利用しているので、利用方法も難しくはない。  Webメールにも対応しているので、いざという場合にもありがたい。 ということで、各メールソフトの設定を変更。  PC(常時使用する3台)とタブレット、スマートフォンと台数は多いがそれ程手間はかからない。 問題は、旧サーバで送受信したメールの履歴だけれど、これはThunderbrdを使ってローカルに保存することで回避。  本当は、サーバtoサーバでMailboxに残そうとも考えたんだけど、古いメールはそれ程必要ないし、ローカルにバックアップしてあれば凌げるので、良しとする。 移行時にDNSの反映で若干時間がかかったものの、問題なく送受信できるのを確認して、作業完了。  これでメンテナンスの手間が減るので、安いもんです。

imapでの接続

postfixの次のSTEP

前回、SMTPにpostfixを導入し設定を終えた。
今度は、外部からメールの取り出しができるように、imapの設定を継続する。

Dovecotが一般的らしく、前回Postfixを入れるときに一緒に入れた。

受信の確認には、コンソール用のMTUが必要(前回mailで確認しようとしたけれど、Maildirに非対応)なんだけど、とりあえずMaildir内を確認して届くのをチェック。
一応、Muttを入れてみるが、設定ファイルを書く必要があって、あちこち探して見るけれど、あまり詳しい情報がない。
いくつかのサイトを参考にしながら、次のように設定。
set mbox_type="Maildir"
set folder="~/Maildir"
set spoolfile="~/Maildir/"
# realnameは、Fromヘッダの名前になる。
set realname="username"
# use_fromを設定しないと、ローカルコンピュータの名前が設定される。
set use_from="yes"
set from="username@xxxxx.yyy.zz"
# envelope_fromを"yes"にしないと、MAIL FROM:コマンドでローカルコンピュータ名が
# 使用される。  
set envelope_from="yes"
# Return-Path:これを正しく設定していないと、@niftyのメールサーバがはじく。
my_hdr Return-Path: username@xxxxx.yyy.zz
my_hdr Bcc: username@xxxxx.yyy.zz
set nomove
mailboxes "~/Maildir/inbox" "~/Maildir/trash"
# 一覧画面の表示項目(日時と件名のみ)
set index_format="%4C %Z %{%b %d} %s"
set postponed="~/Maildir/draft"
set record="~/Maildir/sent"
# ヘッダ内でよくみる項目を目立たせる。
color header green black "^Date:"
color header yellow black "^Subject:"
color header green black "^From:"
color header green black "^To:"
color header green black "^Cc:"
# 本文中のURLとメールアドレスを目立たせる。
color body red black "(ftp|http)://[^ ]+"
color body red black "[-a-zA-Z0-9_.]+@[-a-zA-Z0-9_.]+"
unignore Date
# 送信時の文字コードの優先順位
set send_charset="iso-2022-jp:utf-8"
まあ、一時的にこれで確認できた。

Dovecotの設定

12.04でdovecot設定ファイル仕様変更による問題 を参考に設定を行う。ただし、プレーンテキストの認証はしないので、その部分は変更しない。

/etc/dovecot/dovecot.confを編集。現時点ではIPv6は利用しないので、Listenする必要がない。この部分だけ修正。
$ diff dovecot.conf dovecot.conf~
26c26
< listen = *
---
> #listen = *, ::
他は、特に変更の必要性がなさそう。その他、細かい設定は/etc/dovecot/conf.d/ 以下に格納する仕組みになっている。

変更したのは、以下の部分。
Maildirを使用するので、そのディレクトリを指定。
$ diff 10-mail.conf 10-mail.conf~
30c30
< mail_location = maildir:~/Maildir
---
> #mail_location = 
次に、スプール内の読み取り等ができるように、permission等を調整。
$ diff 10-master.conf 10-master.conf~
88,92c88,90
<   unix_listener /var/spool/postfix/private/auth {
<      mode = 0666
<      user = postfix
<      group = postfix
<   }
---
>   #unix_listener /var/spool/postfix/private/auth {
>   #  mode = 0666
>   #}
以上で設定完了。
サービスを再起動しておく。
# service postfix restart
# service dovecot restart
エラーが出なければ、OK。

クライアントから接続してみる

Thunderbirdからアカウントを追加して、接続設定をする。ところが、うまく行かない。
設定ができないというし…。

よく考えたら、ポートを開けるのを忘れていた。
# ufw allow 'Dovecot IMAP'
# ufw allow 'Dovecot Secure IMAP'
を実行。念の為状態を確認しておく。

# ufw status
状態: アクティブ 
To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
Bind9                      ALLOW       Anywhere
Postfix                    ALLOW       Anywhere
Postfix Submission         ALLOW       Anywhere
Dovecot IMAP               ALLOW       Anywhere
Dovecot Secure IMAP        ALLOW       Anywhere
22/tcp                     ALLOW       Anywhere (v6)
80/tcp                     ALLOW       Anywhere (v6)
Bind9 (v6)                 ALLOW       Anywhere (v6)
Postfix (v6)               ALLOW       Anywhere (v6)
Postfix Submission (v6)    ALLOW       Anywhere (v6)
Dovecot IMAP (v6)          ALLOW       Anywhere (v6)
Dovecot Secure IMAP (v6)   ALLOW       Anywhere (v6)
と、なっていれば外からの接続を受け付けるはず。

この状態で、再度Thunderbirdの設定をしてみると、問題なく設定が完了した。

メールサーバの設定も、今時はとっても簡単になっているので、楽でした。
少々、ドキュメントがバージョンや環境によって錯綜しているため、見極めるのに時間がかかりました。最低限の設定をして、エラーの確認をしながらすすめるしかないのは、仕方ないけどね。

もう少し、統一的にドキュメントを整備する必要があるよなぁと、痛感しました。

コメント

このブログの人気の投稿

WPS Officeで日本語入力ができない

VirtualBoxでUSBから起動

Virtualboxとnvidiaドライバ