postfix + dovecot でメールを使っていて、数個のアカウントがあるのだが、
そのうち一つは送受信できているのだが、
それ以外のアカウントは送信はできるが受信ができない。
それらのアカウントにメールを送るとエラーになって戻ってきたりはせず、
メールボックスには届いているようなのだが、受信ができない。
受信はiphoneでしている。
ほかのメーラーではどうかと、パソコンのthunderbirdで受信してみる。
thunderbirdはメールアドレスを入力すると設定を検索してくれる。
検索されて自動設定された設定だと、受信できた。
じゃあiphoneの設定が間違っているのかと、設定を比較してみると、
port番号はthunderbirdは143でiphoneは993になっていた。
993というのはuse sslを選択すると勝手に設定されたものだ。
use sslをオフにすると143になるがそれだとdisabledとか言われてしまう。
use sslをオンにして、かつ、ポート番号を993から143に変更したら受信できるようになった。
とりあえず解決・・・
と思ったが、もともと受信できていたアカウントのiphoneの設定をもう一度見てみると、
こちらは use ssl でポート番号は993だ。143に変えることもできる。
しかし、これ以外のアカウントは143でしか受信できない。
同じドメインの同じサーバなのに・・・。
何が間違っているのか。
受信できないアカウントは、 メールを送ると /var/mail/アカウント名 が更新されていて
mail -u アカウント名
で読むことができる。
先日spam対策のために設定したprocmailが原因だった。
各ユーザのホームディレクトリに .forward と .procmailrc をコピーして解決。
これがないと、/var/mail/アカウント名 に行ってしまう。
ただし、993/143問題はまだ謎だ。
メール設定は何度も変更したり設定追加したりしているので
自分でも何が何だかわからなくなっている。
一回全部消して作り直したいな・・・