sendmailについて
sendmailはよくセキュリティに脆弱性があると言われている&それと扱いにくいと言われる
しかし業界標準のMTAとなっている
つまり、使いやすいって事でし
セキュリティの面はアップデートが頻繁にされているのでこれを怠らないようにすればよい
ディストリビューションに添付されている管理ソフトなどを使うのも手
設定に関してはm4マクロを上手に使うのがよい
m4のREADMEにはそれぞれの設定値の意味が記載されている
/usr/share/sendmail-cfとかにある
RPMではsendmail-cf(そのままぢゃん)
各種の基本的なファイル(例えばaliases)は全てcfファイルにて定義しておく必要がある。
多数あるオプションで覚えるのが大変
-L <strings> syslog書き込み時のモジュール名 -bd デーモンモードでバックグラウンド動作 -q<time_string> キューディレクトリ監視時間 -qI<queue_id> 該当キューIDを配送 -qS<sender_string> 送信者に該当文字列を含むキューを配送 -qR<reciver_string> 受信者に該当文字列を含むキューを配送
Oオプションの値は色々と利用可能な設定値があるので特に重要
QueueSortTime FallbackSmarthost(8.13以降) FallbackMXHost Timeout.何がし Timeout値は多数設定項目が存在している
sendmailのキューは個々に処理が可能である。
rootユーザのみキュー操作ができる。
/usr/lib/sendmail -C <cfファイル> -v -O 設定したいoptions値 -qXyyyXはI、S、Rのいずれかであり、複数指定して組み合わせる事が可能
yyyはI,S,Rのいずれかに対する文字列となる
これらを組み合わせる事で特定のキューのみを処理する事が可能である
postmaster宛てメールはRFC的には管理者が読めるように設定しておく必要性がある。ただ、MAILER-DAEMON宛てやbounceメールなどがpostmasterに配送されて不用な多数のメールを受け取る必要性はないために、これらのメール転送先設定や処理方法などを適切に設定しておく必要性がある。
一気に処理したい場合には、該当アドレス宛てに対するaliasを作成して転送先を/dev/nullに設定することで削除することができる。
送信元ドメインを書き換えるにはsendmail.mc内でMASQUERADEを利用する
MASQUERADE_AS(`mydomain.com')dnl ←書き換え後ドメイン名 FEATURE(masquerade_envelope)dnl ←envelopeも書き換え対象 MASQUERADE_DOMAIN(mydomainalias.com)dnl ←指定したドメイン名分を対象
sendmail.mc変更後はm4マクロでsendmail.cfを生成
# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
OP25B制限によりSMTP通信出来ないサーバから送る場合
sendmail.mcを修正
# vi /etc/mail/sendmail.mc define(`SMART_HOST', `esmtp:[プロバイダのSMTPサーバー名]')dnl define(`ESMTP_MAILER_ARGS',`TCP $h 587') FEATURE(authinfo, DATABASE_MAP_TYPE` -o 'MAIL_SETTINGS_DIR`authinfo') # m4 sendmail.mc > sendmail.cf
authinfoを作成
# vi /etc/mail/authinfo AuthInfo:SMTPサーバー名 "U:ユーザー名" "P:パスワード" "M:認証方法" # chmod 640 authinfo; # makemap hash /etc/mail/authinfo.db < /etc/mail/authinfo # chgrp smmsp /etc/mail/authinfo.db 認証方法はCRAM-MD5とかPLAINとか。複数指定する場合は空白で区切る