トップ 一覧 検索 ヘルプ RSS ログイン

FB-sendmailの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!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
----