設定ファイルについて
まずは設定について簡単にまとめておきます。
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