設定ファイルについて
まずは設定について簡単にまとめておきます。
sendmail.cf
sendmailの設定ファイル。sendmail.mcで定義したものをm4コマンドを使ってsendmail.cfへ変換する。
sendmail.mc
sendmail.cfを作成するためのテンプレートファイル。このファイルで定義した設定をm4コマンドを使ってsendmail.cfを作成する。
設定項目 | 内容 |
---|---|
VERSIONID | sendmail.cfのバージョン指定 |
OSTYPE | OSの種類 |
DOMAIN | サイト固有の設定(通常はgeneric) |
Dw | メールサーバーのホスト名 |
Dm | メールサーバーが属するドメイン |
MAILER | メーラーの定義 |
define | パラメーターの定義 |
FEATURE | 拡張機能の定義 |
設定ファイル作成方法
sendmail.mcに記載した内容をm4
コマンドで変換します。
$ sudo m4 sendmail.mc > sendmail.cf
キューの確認
溜まったキューを確認する方法です。
$ mailq
溜まっているメールは/var/spool/mqueueにあります。
$ ls -l /var/spool/mqueue
ここで確認できるファイル名はメールのQIDと一致します。
なので特定のキューを消したい場合はそのQIDのファイルを削除すればOKです。
$ rm /var/spool/mqueue/<QID>
再送間隔
再送間隔はsendmail.mc
または/etc/sysconfig/sendmail
で設定することができます。
define(`confMIN_QUEUE_AGE', `30m')dnl
define(`confTO_HOSTSTATUS', `30m')dnl
・confMIN_QUEUE_AGE
メール送信ができずに/var/spool/mqueue/に溜まった場合の再送信間隔。
単位はm(分)、h(時)、d(日)の3種類。デフォルトは0。
・confTO_HOSTSTATUS
配信失敗した際の再試行間隔。
デフォルトは30分。
この2つで再送間隔を設定できるみたいです。
また、パラメータを設定していると、queueに入って一定期間経過したメールは、再送を諦めて返送されます。
define(`confTO_QUEUERETURN', `5d')dnl
・confTO_QUEUERETURN
キューに溜め込んだメールの保存期間。
指定した期間を過ぎるとメールは削除され、送信者へその旨報告。
デフォルトは5日。
QUEUE=1h
キューの再送
sendmail
コマンドに-q
オプションをつけて実行。
-v
も追加することで詳細表示。
$ sendmail -q -v
オプション | 説明 |
---|---|
-q | メッセージ処理間隔 |
-v | 詳細モード |
強制再送を行いたい場合は以下のコマンドを実行します。
$ sendmail -q -v -OTimeout.queuereturn=0 -OTimeout.connect=5s -OTimeout.initial=5s -OTimeout.aconnect=5s -OTimeout.mail=5s -OTimeout.helo=5s -OTimeout.rcpt=5s -OTimeout.command=5s
-O
オプションを利用することでsendmail.mc
内のパラメータとは違う値で実行できます。
ついでなのでsendmail.mc
でのパラメータと一緒に表にしておきました。
sendmail.mc | -Oオプション=(デフォルト) | 説明 |
---|---|---|
confTO_QUEUERETURN | Timeout.queuereturn=5d | 配送エラーでメッセージを返すまでの期間 |
confTO_CONNECT | Timeout.connect=0 | 初回接続が完了するまでの待ち時間 |
confTO_INITIAL | Timeout.initial=5m | 初回接続タイムアウト待ち時間 |
confTO_ACONNECT | Timeout.aconnect=0 | TCPコネクト待ち時間を5秒 |
confTO_HELO | Timeout.helo=5m | HELOまたはELOコマンドのレスポンス待ち時間 |
confTO_RCPT | Timeout.rcpt=1h | RCPTコマンドのタイムアウト待ち時間 |
confTO_COMMAND | Timeout.command=1h | SMTPコマンドのタイムアウト待ち時間 |
参考
http://www.rinneza.com/junya/tech/solaris8_x86/sendmail_8.12.10_cf_setup.html
https://www.sendmail.org/~ca/email/doc8.12/cf/m4/tweaking_config.html
https://www.nic.ad.jp/ja/materials/iw/1997/proceedings/tutorial3/6sendmail-adm.pdf
https://tanaka.sakura.ad.jp/home/sendmail/intro-3.html