チラウラヤーン3号

その辺のプログラマーのチラ裏です。

(ubuntu 14.04) postfix を外部から接続出来るようにする → dovecot 使って

基本的に上記公式のサーバーガイドの通りにやる。うまく行けば動くと思う。僕は動きませんでした。

新し目の ubuntu には snake-oil というオレオレ SSL 証明書が予め用意されている (/etc/ssl あたりに) ので、それも使って、sasl やら tls やらに設定して、 /etc/postfix/master.cf も公式の通りに設定する。

動かなかったのでやった設定

で、動かなかったので、 master.cfsmtps の下りじゃなくて、 submission の下りを それなりに設定する。

$mua_client_restrictions という変数らしきものをどこで設定するのかナゾで、 そのままコメント外しただけで postfix check してもエラー。

どうやら main.cf に書いておくと良いみたい。

/etc/postfix/main.cf

mua_client_restrictions = permit_sasl_authenticated,reject
mua_helo_restrictions = permit_sasl_authenticated,reject
mua_sender_restrictions = permit_sasl_authenticated,reject

確認

OS X 付属の mail.app は (デフォルトでは) オレオレ証明書は受け付けないみたいなのね。
(色々工程を経れば出来なくもない)

ので、

Thunderbird から接続確認→送信確認する。

- 設定名: 適当
- サーバー: 作業対象サーバーのアドレス
- ポート: 587
- 接続の保護: STARTTLS (TLS?)
- 認証方式: 通常のパスワード認証 (plain?)
- ユーザー名: foo
- パスワード: bar

で、動きませんでした。

更に Dovecot に設定が必要?

最後に

それぞれ restart する。

# service dovecot restart
# service postfix restart

確認

先述のメールクライアントで、アカウト作成時にテスト機能があるので、 それをやっても良いし、実際にメールを送ってみてうまく行けばそれが動作の証拠になる。

一応、受信したメールのソースなどもチェックして、自分がやった内容と離れてないか確認する。

ちなみに、 Gmailオレオレ証明書が悪いのか、逆引きしてないホストから送ったのが悪いのか、 メールサーバーに投げに行った時点でSPAM 避けのためかリジェクトされました。
正しい運用だと思います。
僕は Yahoo のアカウントに投げてみたりして実際の挙動を確認しました。

以上。