Dovecotでメール削除をログ出力させる

削除ログを出力するようにする

dovecotプラグインを有効にしメール削除をログ出力するように対応した際の手順です。

1.POPサーバの設定ファイルを変更しログ出力用のプラグインを有効化する

vi /etc/dovecot/conf.d/10-mail.conf

・変更前(210行目辺りです)
#mail_plugins =
 ↓
・変更後
mail_plugins = $mail_plugins mail_log notify

2.POPサーバのログ出力設定ファイルを変更し、メール削除を出力するようにする

vi /etc/dovecot/conf.d/10-logging.conf

・変更前(48行目辺りです)
plugin {
  # Events to log. Also available: flag_change append
  #mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename
  # Available fields: uid, box, msgid, from, subject, size, vsize, flags
  # size and vsize are available only for expunge and copy events.
  #mail_log_fields = uid box msgid size
}
 ↓
・変更後(コメントアウトを外す)
plugin {
  # Events to log. Also available: flag_change append
  mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename
  # Available fields: uid, box, msgid, from, subject, size, vsize, flags
  # size and vsize are available only for expunge and copy events.
  mail_log_fields = uid box msgid size
}

3.POPサーバを再起動し、ログ出力の設定反映する

systemctl restart dovecot

以上の設定が完了したら/var/log/maillogに以下のようにゴミ箱に移した後に削除したといった内容のログが出力されるようになったはずです。

imap(user): copy -> Trash: uid=908, msgid=<123.foo@bar>
imap(user): delete: uid=908, msgid=<123.foo@bar>
imap(user): expunged: uid=908, msgid=<123.foo@bar>