SendmailをOutboundPort25Blockingに対応させますヾ(゚∀゚)ノ

Outbound Port 25 Blocking とは?
仕組み等の詳しくは上の参考サイト等を見て下さい。
要するに迷惑メール対策で、殆どの方が自前のサーバの25番ポートからダイレクトで相手サーバに送れません。
ダイレクトで送れなければ、プロバイダのメールサーバを転送するようにすれば送れるようになります。
SendmailをOutboundPort25Blockingに対応
# vi /etc/mail/sendmail.mc
※sendmail.mcを編集し「dnl define(`SMART_HOST',`smtp.your.provider')dnl」以下に追記
define(`SMART_HOST',`smtpauth.hoge.com')dnl
※転送するプロバイダのメールサーバを指定
define(`ESMTP_MAILER_ARGS',`TCP $h 587')
※サブミッションポートへ接続する設定
FEATURE(authinfo, DATABASE_MAP_TYPE` -o 'MAIL_SETTINGS_DIR`authinfo')
※SMTP認証設定

# cd /etc/mail/
# make sendmail.cf
※sendmail.cfを更新


SMTP認証設定
最初に、SMTP認証の認証方法が何に対応しているか調べる必要があるのでtelnetを使用して調査します。
# telnet SMTPサーバ 25
※telnetで接続
Trying 111.111.111.111...
Connected to smtpauth.hoge.com (111.111.111.111).
Escape character is '^]'.
220 smtpauth.hoge.com
ehlo localhost
※ehlo localhostと応答する
250-SMTPサーバ名
250-PIPELINING
250-SIZE 10000000
250-ETRN
250-AUTH CRAM-MD5 LOGIN PLAIN
※ここの値が後述する「認証方法」になる
250-AUTH=CRAM-MD5 LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
quit
※telnet終了
221 2.0.0 Bye
Connection closed by foreign host.


このサーバの場合「CRAM-MD5 LOGIN PLAIN」に対応している事が判明

# vi /etc/mail/authinfo
引き続き、SMTP認証ファイルを作成
※SMTP認証ファイルを作成
AuthInfo:SMTPサーバ名 \"U:ユーザ名\" \"P:パスワード\" \"M:認証方法\"


# makemap hash /etc/mail/authinfo.db < /etc/mail/authinfo
※authinfoから、dbファイルを作成

# chgrp smmsp /etc/mail/authinfo.db
※smmpグループが書き込み権限を持っている必要がある為、所有グループをsmmpに変更


Sendmail再起動
# /etc/rc.d/init.d/sendmail restart


以上で、SendmailからプロバイダのSMTPサーバを経由してメールが送信出来るようになりましたヾ(゚∀゚)ノ
実際にLogwatch等で試してみて下さい。

あとK-OPTI.COM以外の方には関係ない情報なのですが、この方法でsmtpauth.eonet.ne.jp経由で中継すると認証エラーが出てメールが送信出来ません。
十日日記 - eoのSMTP AUTH
# dig smtpauth.eonet.ne.jp
<<>> DiG 9.2.4 <<>> smtpauth.eonet.ne.jp
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8503
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;smtpauth.eonet.ne.jp. IN A

;; ANSWER SECTION:
smtpauth.eonet.ne.jp. 72793 IN CNAME aa0000-msas01s.eonet.ne.jp.
aa0000-msas01s.eonet.ne.jp. 72771 IN A 203.140.81.12


;; Query time: 4 msec
;; SERVER: 192.168.10.200#53(192.168.10.200)
;; WHEN: Fri Sep 26 17:43:32 2008
;; MSG SIZE rcvd: 83

十日日記さんにも書かれている通り、原因はsmtpauth.eonet.ne.jpがCNAMEで記述されている為らしいです。
これだけで2日以上潰しましたorz
ないと思いますが、もし通信できなくなったらAレコードが変わっている可能性があるので、その都度調べて下さい。