上野日記

自分が主人公の小さな物語

メールの設定

自宅サーバのホームページやブログを外部サイトに移行するに伴い、サーバをデスクトップ(Pen4/3GHz)から古いノートPC(PenIII/500MHz)にしようとしている。重たいソフトをなくすので、デスクトップPCではちょっとスペックが高過ぎる。それにCPUファンがやたらとうるさい。静音ファンに交換してから1年ぐらいで壊れ、今は純正のCPUファンを使用している。

ノートPCに、Fedora 13をネットワークインストール(DVDが付いていないし、CDをいっぱい焼くのも面倒だったので)して、せっせと設定を行っていたところ、メールの設定でちょっとつまづいてしまった。

ま、検索すると出てくる問題なのでわざわざここに書くこともないのだが、とりあえず記録しておく。

dovectの設定

/etc/dovect.confはあまり修正する必要はないのだが、POP3しか使用しないので以下の設定を入れている。

#protocols = imap imaps pop3 pop3s
protocols = pop3

いつもはこれでOKのはずだ。Fedora 10でもそうだった。しかし、以下のログが出力しメールを読み込むことができない。

dovecot: POP3(xxxx): mail_location not set and autodetection failed: Mail storage autodetection failed with home=/home/xxxx

ネット検索したら、すぐに解決しました。

## Mailbox locations and namespaces
...
#mail_location =
mail_location = mbox:~/mail:INBOX=/var/mail/%u

を dovect.conf に入れるだけでした。いつから仕様が変わったのだろう。

SMTP-auth

私が利用しているISPでは、メール送信にOB25B(Outbound Port 25 Blocking)を実施している。このため、メール送信に使用するポートは587番で、認証が必要だ。一般のメールソフトであれば簡単に設定できるのだが、sendmailではちょっとした設定が必要だ。

OB25B対策は、旧サーバでも行っていたので、authinfoファイルやsendmail.mcの修正をそのまま使用できると高をくくっていた。ところがメールを送信すると、メールのログ(/var/log/maillog)に以下のようなメッセージが出力される。

AUTH=client, relay=smtp.xxx.xx.jp., temporary failure, connection abort

ネットで検索しても、英語のページがしかなく「SASL(Simple Authentication and Security Layer)」が怪しそうなことぐらいしかわからなかった。このときは、「cyrus-sasl.i686」はインストールしているので問題ないと思っていた。

あきらめかけていたとき、ふとシスログ(/var/log/messages)を見たら以下のメッセージが出力されていた。

sendmail[2177]: No worthy mechs found

これを手掛かりに検索すると、認証メカニズムに「LOGIN PLAIN」を使用している場合は、「cyrus-sasl-plain.i686」が必要なことが分かった。やれやれだ。

通常インストールでは、インストールされていたパッケージだと思う。ネットインストールは本当に必要最低限のパッケージしかインストールしてくれないので、不足していたようだ。通常インストールでは、余計なものまでインストールするので、一長一短かもしれない。

© 2002-2024 Shuichi Ueno