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