最近各プロバイダでOP25Bが実装されているらしいですね。

表題の通り、最近各プロバイダで
「Outbound Port 25 Blocking」(以下OP25B)が
導入され始めているようですね。
これが一体何なのかは各プロバイダ共に情報を公開しているので
ここでは敢えて触れませんが……自宅サーバを建てている人間としては
メールサーバを正常に運用できないのでSubmissionPortの設定を施してやらねばなりません。

というわけで、うちが使っているプロバイダも近い将来にOP25Bを実装しかねないので
先手を打ってSubmissionPortを使えるように設定しておくことに。
ちなみにうちが自宅サーバで使ってるMTAはPostfixです。

Postfixの場合、/usr/local/etc/postfix/master.cfに
submission inet n - n - - smtpd
の記述を追加してやればsubmissionportの設定が完了します。
……が、RFCによればsubmissionportではsmtpauthによる
認証が行われないといけない様子。
というわけで、次はsmtpauthの設定を施してやることにします。
(と言っても実は既にsmtpauthの設定を施してあるので、
以下は記憶を頼りに書いているところも少々……)

まずsmtpauth用にパッケージcyrus-sasl-2.1.22をインストールします。

# cd /usr/ports/security/cyrus-sasl-2/
# make clean install clean && rehash

ちなみにsaslのインストール時にBarkleyDBを使用するようにconfigを
編集してやらないと大分詰まります。

無事にインストールできたら/usr/local/etc/postfix/main.cfに
saslを使うための記述を追加します。

# jove /usr/local/etc/postfix/main.cf

# Setting for SASL
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination

で、ここまで終了したら設定を反映させます。

# postfix reload
# tail /var/log/maillog

後はsmtpauthによる認証を行う際のユーザーIDとパスワードを
設定してやれば作業は終了。

# saslpasswd2 -c *****
Password:

後はサーバと違うネットワークに所属する端末から
smtpauthによる認証を試して正常に送信できる事を確認します。

大分うろ覚えだな〜……何か忘れてるかも。
思い出したら追加すればいいか……