メールサーバの移行

イメージ
 自前のメールサーバを停止 これまで、自ドメインのメールサーバは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の反映で若干時間がかかったものの、問題なく送受信できるのを確認して、作業完了。  これでメンテナンスの手間が減るので、安いもんです。

メールサーバの設定

もっとも大変かも…

サーバ設定で、ミスをすると致命的なのがメールサーバなので、しっかりと下調べをして臨むことに。何せ他のサーバへの影響が大きいのと、不要なトラフィックを発生させることになるからね。

基本的にはpostfixでOKなのだけれど、「POP3/IMAP4サーバ」にDovecotを使うのが、このところの標準構成らしい。
できればPOPは、さまざまな端末からの利用を考えると、問題があるのでIMAPを使えるようにしておきたい。

どうやら現在のubuntuには仮想パッケージが用意されている。
# apt-get install dovecot-postfix
これで、postfix関連、dovecot関連の全てを入れてくれる。
途中で、このメールサーバの設定を聞かれるので、「インターネットサイト」を選択し、
ドメインを入力するだけで、インストールが完了する。
dovecot-core dovecot-imapd dovecot-managesieved dovecot-pop3d dovecot-postfix dovecot-sieve mail-stack-delivery postfix
全部で、8個のパッケージを入れてくれた。

設定の確認と修正

修正に関しては、先人の情報を参考にして/etc/postfix/main.cfを確認・修正する。
30行目あたりのmyhostnameを修正。
myhostname = mail.xxx.jp
と、自ドメインのメールサーバのホスト名に変更。もちろん、前回DNSに登録してあるホスト名を利用。

34行目あたりのmydestinationを確認、修正。
mydestination = xxx.jp, vzzz-yyy-xxx-www.myvps.jp, localhost.xxx.jp, localhost 
のように、受け取るドメインを列記する。VPSの本来のマシン名がデフォルトで入っているが、今のところ問題はないので、そのまま残しておく。

9行目あたり
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
となっているのを、以下のように変更。不要な情報は出さないように修正。
smtpd_banner = $myhostname ESMTP $mail_name
mail_name = unknown
最後に少しだけ迷惑メール対策を追加
smtpd_helo_required = yes
smtpd_helo_restrictions =
         check_helo_access hash:/etc/postfix/helo,
         permit
これで、HELOに対する応答がない場合は破棄する。
あとは、/etc/postfix/heloを作成し、postmap ファイル名でhash-DBに変換しておけばOK。
header_checks = regexp:/etc/postfix/header_checks
これで、ファイルheader_checksに正規表現で弾きたいものを記述しておく。
/^From:.*<#.*@.*>/ REJECT
/^Return-Path:.*<#.*@.*>/ REJECT 
アドレスなしのメールを拒否するようにしておく。

ポートの設定

/etc/postfix/master.cfを編集。
16行目から submissionの項目が続くが、コメントアウトされているので、コメントを取る。
submission inet n       -       -       -       -       smtpd 
これで、OP25Bの場合、25番ポートでの送受信ができないのを解消。587番を利用するための対応策だ。

受信のテスト

いつも使っている、gmailから送信してみる。
受信したメールを見ようと、mailコマンドを叩いたら…。デフォルトでは入っていないのね〜。
エラーでも出たのかと、慌てました。
# apt-get install mailutils
で、入れてやればOK。
$ mail xxxxxx@gmail.com
でメール作成してやれば、OKなはず。
でctrl+Dで抜けると送信するはずなんだけど…。

gmail側では受信できていない…。はて。
調べてみると、おおっと制限があった。
トライアル期間中は、下記制限事項があります。

【データ転送帯域制限】
ダウンロード(中から外)を5Mbps

【ポート制限】
25番ポート(中から外)
ということで、中から外へのテストは出来ないようでした。
仕方ないので、gmailから送信し受信のテストをしてみる。

mailコマンドで見ようと思ったら、
Cannot open mailbox /var/mail/username: 許可がありません
No mail for username
う〜む、もう少し落ち着いて作業をしよう。
とりあえず、今日はここまで。

コメント

このブログの人気の投稿

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

VirtualBoxでUSBから起動

Virtualboxとnvidiaドライバ