> Может быть вы правы, что не нужен, давайте я просто объясню чего
> хочу.
> Мне нужно, что бы и скрипт и МТА могли по каждому письму
> делать запросы в БД (письма хранятся в Мускуле) и по этим
> выборкам строить разную логику (типа отслеживать баунсы, снимать статистику и т.д.).
> Соответственно для этого нужен некий идентификатор, по которому и скрипт и
> мейлер смогут каждое письмо однозначно идентифицировать.Ответ от мейлера - этот не подходящий идентификатор. Ответ от мейлера - это всего лишь идентификатор, с которым письмо поставлено в очередь.
В случае postfix+amavis, к примеру, письмо, проходя через фильтр амавис-а, возвращается снова в постфикс, и получает там новый идентификатор, поскольку добавляется в очередь _снова_. То же самое происходит по приходу писем на каждый новый почтовик.
> Способ, который я для себя сейчас вижу, это рисовать некий X-Message-ID: непосредственно
> в скрипте и дальше выкусывать его значение из хидера при обработке,
> что вобщем-то работоспособно, но сильно похоже на костыль.
Да, именно так и надо делать.
> К тому же, его ещё и нужно выпиливать мейлером непосредственно перед отправкой, что бы
> не поиметь проблем с некоторыми особо-хитрыми контент-фильтрами.
Есть стандартный заголовок, его и следует использовать. Выкусывать ничего не надо.
Именно этот заголовок и должен возвращаться в баунсах.
Какой это заголовок я прямо сейчас сказать не возьмусь, онлайн с лайвсиди, тут ни одного электронного письма нету чтобы посмотреть..
> Можете ли подсказать, как сделать такое "правильно"?
Статистику вы сможете просто смотреть по таблице отправок.
X-Message-ID вам потребуется для отслеживания недоставок, да. По факту недоставки должно будет обновиться поле в БД, и собственно всё.
Других применений X-Message-Id я пока не вижу, но вам ваша задача виднее, поэтому корректируйте.
PS: Где-то "далеко" ) есть какие-то куски реализации отслеживания баунсов при осуществлении
рассылки. Писано на перле, но, думаю, что писано криво, и можно использовать только схему, а не код. Я уточню в этом коде, есть там проверка X-Message-Id или только адрес получателя (неполучившего письмо) проверяется.
Проверяется легко - отправляете письмо на несуществующий адрес, смотрите что вам придет в отлупе (в исходном тексте письма, с заголовками).