!sendmail を外部から接続する場合には以下を追加 sendmail_enable="YES" sendmail_submit_enable="YES" !FreeBSD で sendmail を ports でいれた場合に変更する。 ############################################# sendmail_enable="YES" sendmail_procname="/usr/local/sbin/sendmail" ############################################## /etc/make.conf: SENDMAIL_CF_DIR= /usr/local/share/sendmail/cf MC ファイルについかする。 define(`confEBINDIR', `/usr/local/libexec')dnl define(`UUCP_MAILER_PATH', `/usr/local/bin/uux')dnl ! cf ファイルのチェック 送信チェック % ./sendmail -C./test.cf -bt > 3,0 user@domain ホスト名が正しく取得できていることの確認 % ./sendmail -bt -d0.4 https://www.jpcert.or.jp/ed/2001/ed010002.txt コマンドでテスト % sendmail -bv -C./test.cf testuser testuser... deliverable: mailer local, user testuser % sendmail -bv -C./test.cf testuser@testdomain testuser@testdomain... deliverable: mailer local, user testuser % sendmail -bv -C./test.cf testuser@your.domain.name testuser@your.domain.name... deliverable: mailer local, user testuser % sendmail -bv -C./test.cf testuser@test.domain.name testuser@test.domain.name... deliverable: mailer relay, host mx1:mx2, user testuser@test.domain.name # sendmail -bt -C./test.cf > /map generics root http://www.wikihouse.com/1yen/index.php?UNIX%2FSendMail#content_1_3 ! mailertable を作った時には [ “Smart” relay host ] 解決策としては、service.switch というファイルを作成して名前解決に hosts を優先す るということを明記すればOKでした。 ただ他の環境ではこんなことなかったのでこの sendmail のバージョン( sendmail-8.13.8-8.1.el5_7 )のバグじゃないのかな‥とも思いつつ。 1 # vim /etc/mail/service.switch 2 hosts files 3 (間はスペースじゃなくてタブが必須) 4 5 # /etc/rc.d/init.d/sendmail restart !SPAM 単位時間あたりに接続するセッション数を管理 参考 http://blog.so-net.ne.jp/oyazi/archive/20060726 http://www.rbbtoday.com/column/spamadmin/20050228/index.html MC ファイルに追加 dnl ########################################################################### dnl ## タイムアウト値 define(`confTO_COMMAND',`5m')dnl # コマンド入力の待ち時間を5分に設定 define(`confTO_DATABLOCK',`5m')dnl # 5分以上本文の受信が途切れた場合エラーにする define(`confTO_IDENT',`0s')dnl # identは問い合わせない define(`confTO_RESOLVER_RETRANS',`3s')dnl # 名前解決の待ち時間は3秒 define(`confTO_RESOLVER_RETRY',`2')dnl # 名前解決の再送は2回まで dnl ## リソース関係 define(`confMAX_MESSAGE_SIZE',`1048576')dnl # メール本文は1Mバイトまでに制限 define(`confBAD_RCPT_THROTTLE',`10')dnl # 10回のUserUnknownまでは即座に応答 define(`confCONNECTION_RATE_THROTTLE',`30')dnl # 1秒間に最大30回までの接続を受け付ける define(`confCONNECTION_RATE_WINDOW_SIZE',`1m')dnl # ratecontrolの単位時間は1分 FEATURE(`access_db')dnl # ratecontrol,conncontrolに必要 FEATURE(`delay_checks')dnl # ratecontrol,conncontrolの即時切断のために必要 FEATURE(`conncontrol', `nodelay', `terminate')dnl # 制限を超過した場合即時切断 FEATURE(`ratecontrol', `nodelay', `terminate')dnl # 制限を超過した場合即時切断 FEATURE(`nocanonify')dnl # ドメインパートの正規化を抑制 dnl ####################################################### /etc/mail/access ClientRate:IP.ADD.RE.SS LIMIT IP.ADD.RE.SS は 192.168.2.88 等の IPADDRESS LIMIT は 接続数 : 0 の場合には制限なし ClientConn:IP.ADD.RE.SS LIMIT IP.ADD.RE.SS は 192.168.2.88 等の IPADDRESS LIMIT は 接続数 : 0 の場合には制限なし !SPAM対策の実行時の内容 dnl ###################################################################### dnl ## dnl ## SPAM session 2007 / 09 / 13 dnl ## dnl ## TIMEOUT define(`confTO_COMMAND',`5m') dnl # WAIT TIME of command. define(`confTO_DATABLOCK',`5m') dnl # DATA session waite time. define(`confTO_IDENT',`0s') dnl # nowatite ident. define(`confTO_RESOLVER_RETRANS',`3s') dnl # DNS wait. define(`confTO_RESOLVER_RETRY',`2') dnl # times of retiry dns. dnl ## dnl ## define(`confMAX_MESSAGE_SIZE',`1048576') dnl # DATA area size. define(`confBAD_RCPT_THROTTLE',`10') dnl # Number of UserUnknonw. define(`confCONNECTION_RATE_THROTTLE',`30') dnl # Number of session. dnl ## define(`confCONNECTION_RATE_WINDOW_SIZE',`1m') dnl # time window of ratecontrol define(`confCONNECTION_RATE_WINDOW_SIZE',`1m') dnl # time window of ratecontrol dnl ConnectionRateWindowSize dnl ## FEATURE(`access_db')dnl # ratecontrol,conncontrol FEATURE(`delay_checks') dnl # ratecontrol,conncontrol FEATURE(`conncontrol', `nodelay', `terminate') dnl # FEATURE(`ratecontrol', `nodelay', `terminate') dnl # FEATURE(`nocanonify') dnl # dnl ###################################################################### dnl # cat /etc/mail/access dnl # dnl ClientConn:127.0.0.1 0 dnl ClientConn: 30 dnl # dnl ClientRate:127.0.0.1 0 dnl ClientRate: 60 dnl # ---- !添付ファイル名が文字化けする FreeBSD環境でsendmailをご使用の場合、デフォルトで添付ファイル名が257バイト以上は切り捨てる設定になっております。 それ以上の長いファイル名を使うと、不完全なファイル名になってしまい、受信したときに日本語ファイル等は文字化けが発生します。 sendmail.cfを下記のように編集する事により解消されます。 MaxMimeHeaderLength=256/128 ↓ MaxMimeHeaderLength=2048/1024 ---- $SENDMAIL -bt -C$CFFILE コマンドでテスト % sendmail -bv -C./test.cf testuser testuser... deliverable: mailer local, user testuser % sendmail -bv -C./test.cf testuser@testdomain testuser@testdomain... deliverable: mailer local, user testuser % sendmail -bv -C./test.cf testuser@your.domain.name testuser@your.domain.name... deliverable: mailer local, user testuser % sendmail -bv -C./test.cf testuser@test.domain.name testuser@test.domain.name... deliverable: mailer relay, host mx1:mx2, user testuser@test.domain.name # sendmail -bt -C./test.cf > /map generics root ---- !SPF レコードの対応 sendmail で smf-spfを使ってSPF認証する ---- ! version $ /usr/sbin/sendmail -d0.101 ----