Exim4 для отладки приложений

Случилось мне отлаживать PHP-приложение, активно отправляющее письма через sendmail. Собственно, для отладки отправлять письма непосредственным получателям не нужно, необходимо лишь видеть, что именно и как отправляется. В общем, было бы неплохо перенаправлять отправляемые письма в какой-то в файл. В качестве MTA у меня exim4, о его конфигурации и пойдёт речь.

Вкратце, в конфигурации exim есть транспорт, отвечающий за то, как доставлять письмо получателю (записывать в локальный файл, отправлять через smtp и т.д.) и роутеры, определяющие какой именно транспорт использоваться для данного получателя. В самом простом случае, когда мы хотим сливать письма в один файл для всех, конфиг выглядит вот так:

begin routers
	everything:
		driver = accept
		transport = log_mail
		no_more

begin transports
	log_mail:
		driver = appendfile
		file = /var/mail/everything

begin rewrite

Роутер с driver=accept обрабатывает всех получаетелей, а транспорт appendfile записывает тело письма в указанный файл.
Директория /var/mail/ должна существовать и быть доступна для записи пользователю, из-под которого работает exim. В debian это Debian-exim. Да, кстати, в случае убунты/дебиана этот конфиг нужно положить в /etc/exim4/exim4.conf.template, а в /etc/exim4/update-exim4.conf.conf указать dc_use_split_config=’false’ (или то же через dpkg-reconfigure exim4-conf , где на вопрос Split config to files… ответить no), после чего выполнить update-exim4.conf и перезапустить exim.
В Arch Linux достаточно просто этот конфиг засунуть в /etc/mail/exim.conf

В итоге все письма, отправленные через sendmail, запишутся в файл /var/mail/sent

Хорошо, а что если нам не нужно всё тело письма, а достаточно будет лишь получателя и заголовка, скажем, для отладки рассылки? Тогда используем другой тип транспорта, pipe. Он вызывает указанный в command скрипт с телом письма в виде stdin.

begin routers
....
begin transports
    log_mail:
        driver = pipe
        command = /etc/exim4/exim_store_subjects.sh '$message_id' '$local_part@$domain' '$h_subject'



begin rewrite

И сам скрипт /etc/exim4/exim_store_subject.sh :

#!/bin/bash
echo "[$(date +'%Y-%m-%d_%H:%M:%S')] $@" >> /var/mail/sent