Я использую postfix, dovecot 2.1 и amavis для своих писем.
Как я могу отказаться от писем (от других почтовых серверов), если дата будет устаревшей (например,> = 1 месяц) или новой (например,> = 1d в будущем)?
Postfix имеет функцию header_check, которая позволяет вам сканировать заголовки и решать, что делать с электронным письмом в это время.
Документы: http://www.postfix.org/header_checks.5.html
/^Date: .* (19[0-9][0-9]|200[0-9]|2010)/ REJECT Your email is stuck in a timewarp
Это пример проверки даты. К сожалению, это не динамично.
Postfix поддерживает milters Sendmail. Я быстро нашел здесь milter типа даты:
http://www.snertsoft.com/sendmail/milter-date/
Я подозреваю, что вам, вероятно, понадобится Милтер.
http://www.postfix.org/MILTER_README.html
С другой стороны, я не уверен, что вы используете что-то вроде Spamassassin, но у него тоже могут быть правила, помогающие помечать электронные письма с неправильными датами.
Вы, наверное, сможете что-нибудь сделать с header_checks, с оговоркой, что вам, вероятно, придется вручную обновить регулярное выражение, чтобы оно оставалось актуальным, или вы можете написать свой собственный скрипт для его обновления, гарантируя, что эта часть скрипта вызывает postfix reload
или postconf <path to the file>
. У Spamassassin есть проверки на подобные вещи, но обычно они происходят после того, как почта была принята, что, вероятно, не идеально.