メッセージIDを進めたり戻したりするときの動作と仕様について
E-Post SMTPサービスが受領時のタイミングで管理しているメッセージIDのうち、数値情報は、下記にあげる [メール作業フォルダ]/reg/ フォルダ下にある設定ファイル内にメール受信カウンタ値として保管されます。
サーバリプレースのためにメールサーバを再インストールした場合、今までのメッセージIDの情報に合わせて、メッセージIDの値を進めておく作業を行うことがあります。(詳細は下記FAQ記事を参照)
メッセージIDの値を大きくする場合は、下記の情報にあるように、"/var/spool/epms/reg/epost/ims/" フォルダ下にある "LastMsgId.1" の設定ファイルだけを書き換えればよいのですが、逆にメッセージIDの値を戻したり小さくする場合には、それだけでは不可になっており、注意が必要です。
メッセージIDの値を戻したり小さくする場合は、"/var/spool/epms/reg/epost/ims/" フォルダ下の "LastMsgId.1" の設定ファイルに加え、"/var/spool/epms/cluster/" フォルダ下の "msg.id" の設定ファイルも合わせて変更するようにしてください。これは、小さい値から大きい値に進めるときには、"LastMsgId.1" ファイルの書き換えだけでそのまま利用されますが、逆に大きい値から小さい値に戻すときには、メッセージIDを排他処理用に管理するためのフォルダである、"/var/spool/epms/cluster/" フォルダ下の "msg.id" とも比較され、記録されていた大きい値の方で上書きされる安全設計の仕組みがとられていることによります。
なお、メッセージIDの値を書き換える場合は、事前に E-Post SMTP 関係の2つのサービスを停止しておくことが必要です。
(参考・メッセージIDを進めるテストの例)
- E-Post のサービスを停止。
- SSHなどを使ってコンソールにログイン。
- viエディタを使い、"/var/spool/epms/reg/epost/ims/LastMsgId.1" の値を 5000→20001 へ書き換え。
- E-Post のサービスを再開。
- テストメールの送受信。
- "B" で始まる20001のメッセージIDがデータファイル名となっていること、および受信メールのヘッダを確認しメッセージIDの数字がふられていることを確認。
(参考・メッセージIDを戻すテストの例)
- E-Postのサービスを停止。
- SSHなどを使ってコンソールにログイン。
- viエディタを使い、"/var/spool/epms/reg/epost/ims/LastMsgId.1" の値を 20001→5001 へ書き換え。合わせて "/var/spool/epms/cluster/msg.id" の値も 20001→5001 へ書き換える。
- E-Postのサービスを再開。
- テストメールの送受信。
- "B" で始まる5001のメッセージIDがデータファイル名となっていること、および受信メールのヘッダを確認しメッセージIDの数字がふられていることを確認。
[メール作業フォルダ](既定値 /var/spool/epms/)
→reg フォルダ
→epost
→ims
→LastMsgId.1 (DWORD Default 0) メッセージID管理のメール受信カウンタ
※ファイルの拡張子".1"は、値の型が DWORD であることを表わす。またファイル内の末尾に改行を入れない。
[メール作業フォルダ](既定値 /var/spool/epms/)
→cluster フォルダ
→msg.id メッセージIDを排他処理用に管理するためのメール受信カウンタ
(関連FAQ)
●サーバをバックアップデータからリストアしたとき、メッセージ開始番号の上書き警告メッセージが表示されたときの対処方法について