/etc/mail/sendmail.mc の、設定 dnl define(`confSMTP_LOGIN_MSG', `$j Sendmail; $b')dnl define(`confSMTP_LOGIN_MSG', `unknown')dnl デフォルト値になるためunknownにする define(`confAUTH_OPTIONS', `A p')dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl define(`confTO_QUEUERETURN', `1h')dnl dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl コメントにする DAEMON_OPTIONS(`Port=smtp ,Name=MTA, Family=inet')dnl DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl dnl FEATURE(`accept_unresolvable_domains')dnl コメントにするDNSで名前解決できない ドメインでも受理することを定義する。 FEATURE(`relay_based_on_MX')dnl DNS上でMXリソースレコードが定義されているホストからのみ 受理することを定義する。 LOCAL_DOMAIN(`localhost.localdomain')dnl 修正するローカルの電子メールを受理する。 MASQUERADE_AS(`ajmt.net')dnl MASQUERADE_DOMAIN(localhost)dnl MASQUERADE_DOMAIN(localhost.localdomain)dnl MASQUERADE_DOMAIN(ajmt.net)dnl スパムメール対策のため FEATURE(dnsbl,`myblock.ajmt.net')dnl FEATURE(dnsbl,`all.rbl.jp')dnl ウィルス対策のため INPUT_MAIL_FILTER(`clamav', `S=local:/var/run/clamav/clmilter.sock, F=, T=S:4m;R:4m')dnl define(`confINPUT_MAIL_FILTERS', `clamav') /etc/mail/sendmail.mc 設定の補足 DAEMON_OPTIONSは、デフォルトで DAEMON_OPTIONS(`Port=smtp Name=MTA') DAEMON_OPTIONS(`Port=submission, Name=MSA, M=E') となっている様である。よって、 DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA') の設定をコメントにするだけでよい。また DAEMON_OPTIONS(`Port=smtp Name=MTA') だけなど1つのみを設定したい場合、 FEATURE(`no_default_msa') を設定する必要があるようだ。 Mの値の、“Ea”の意味 “a” ESMTPでの認証を必須とする指定 “E” ETRNコマンドを禁止する指定 define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl authwarnings 自分と異なるユーザ名をEnvelope-Fromにしてメールを送信しようとしたとき、"X-authentication-Warning"ヘッダを付ける needexpnhelo EXPNコマンドより前にHELO(または EHLO )がないと受けつけない needmailhelo MAILコマンドの前にHELO(または EHLO )がないと受けつけない needvrfyhelo VRFYコマンドの前にHELO(または EHLO )がないと受けつけない needexpnhelo EXPNコマンドの前にHELO(または EHLO )がないと受けつけない noexpn EXPNコマンドを無効にする noverb あらゆるVERBを無効にする noetrn ETRNコマンドを無効にする novrfy VRFYコマンドを無効にする noreceipts 配送成功時の DSN を返さない restrictqrun sendmail -q を実行できるユーザを限定する restrictmailq mailqコマンドを実行できるユーザを限定する restrictexpand sendmail -bv, sendmail -vが実行できるユーザを限定する nobodyreturn DSN でbodyを返さない goaway needmailhelo, noexpn, novrfy, noverb, authwarnings が有効になる VRFY : メールアドレスの確認 EXPN : メーリングリストアドレスの展開 ETRN : サーバのqueueをクライアントから扱う 再送間隔の設定(10分間隔) /etc/sysconfig/sendmail を修正 DAEMON=yes QUEUE=1h ↓ QUEUE=10m /etc/mail/local-host-names Maildir形式にする。(procmail) /etc/procmailrc に、設定を記述する。 SHELL=/bin/bash PATH=/usr/bin:/bin DROPPRIVS=yes MAILDIR=$HOME/Maildir DEFAULT=$MAILDIR/ また、spamassassinの設定 INCLUDERC=/etc/mail/spamassassin/spamassassin-spamc.rc を追加する。 spamassassinの設定(/etc/mail/spamassassin/local.cf) 自サイトが、なぜかスパムとして点数が付き、スパムとなる場合がある。 ドメインでスキップするには uridnsbl_skip_domain example.net を、記述する。