Клиенты SMTP должны пройти аутентификацию пользователя перед отправкой электронных писем в другие домены (ретрансляция). И мы можем использовать smtpd_sender_restrictions
чтобы убедиться, что адрес MAIL FROM соответствует аутентифицированному пользователю. Но как убедиться, что адрес отправителя в заголовке письма соответствует адресу MAIL FROM? Мы также хотим ограничить заголовок Reply-To, чтобы отправители спама вряд ли могли использовать наш SMTP-сервер, даже если они взломают некоторые пароли пользователей.
Если вы хотите переписывать заголовки писем, вам нужно, чтобы postfix передавал почту через некоторую программу, которая выполняет переписывание. Посмотрите документацию на что-то вроде policyd, чтобы узнать, как работает это взаимодействие.
Однако я не уверен, что то, что вы описываете, является хорошей идеей или помогает справиться со спамом. Если вы не можете полагаться на поведение аутентифицированных пользователей, вам необходимо выполнить фильтрацию контента так же, как и для почты, поступающей из неизвестных источников, поступающей вашим пользователям.
header_checks = pcre: / etc / postfix / header_checks
И в файле header_checks пример данных:
/^Content-(Type|Disposition):.*(file)?name=.*(\.|=2E)(ade|adp|bas|bat|chm|cmd|com|cpl|crt|hlp|hta|inf|ins|isp|js|jse|lnk|mde|msc|msi|msp|mst|pcd|pif|reg|scr|sct|shs|shb|vb|vbe|vbs|wsc|wsf|wsh|mim|b64|bhx|hqx|xxe|uu|uue)"/ REJECT Sorry, we do not accept .${4} file type.
/^Content-(Type|Disposition):.*(file)?name=.*\.([a-z]+\.exe)"/ REJECT Sorry, we do not accept double extension .${3} file type.
/^(Received: from|X-Originating-IP:|OriginalSenderIP:|X-AOL-IP:) \[?196\.[0-9]+\.[0-9]+\.[0-9]+\]?/ REJECT nigerian spam/scam/419 detected
/^(Received: from|X-Originating-IP:|OriginalSenderIP:|X-AOL-IP:) \[?82\.128\.([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-7])\.[0-9]+\]?/ REJECT nigerian spam/scam/419 detected
/^(Received: from|X-Originating-IP:|OriginalSenderIP:|X-AOL-IP:) \[?86\.62\.([0-9]|[0-6][0-9]|6[0-3])\.[0-9]+\]?/ REJECT nigerian spam/scam/419 detected
/^(Received: from|X-Originating-IP:|OriginalSenderIP:|X-AOL-IP:) \[?213\.136\.(9[6-9]|1[0-1][0-9]|12[0-7])\.[0-9]+\]?/ REJECT nigerian spam/scam/419 detected
/^(Received: from|X-Originating-IP:|OriginalSenderIP:|X-AOL-IP:) \[?81\.91\.2(2[4-9]|3[0-9])\.[0-9]+\]?/ REJECT nigerian spam/scam/419 detected
/^(Received: from|X-Originating-IP:|OriginalSenderIP:|X-AOL-IP:) \[?41\.[0-9]+\.[0-9]+\.[0-9]+\]?/ REJECT nigerian spam/scam/419 detected
/^(Received: from|X-Originating-IP:|OriginalSenderIP:|X-AOL-IP:) \[?213\.181\.(6[4-9]|[7-8][0-9]|9[0-5])\.[0-9]+\]?/ REJECT nigerian spam/scam/419 detected
/^(Received: from|X-Originating-IP:|OriginalSenderIP:|X-AOL-IP:) \[?87\.255\.(9[6-9]|10[0-7])\.[0-9]+\]?/ REJECT nigerian spam/scam/419 detected
/^(Received: from|X-Originating-IP:|OriginalSenderIP:|X-AOL-IP:) \[?212\.52\.(12[8-9]|1[3-5][0-9])\.[0-9]+\]?/ REJECT nigerian spam/scam/419 detected
/^(Received: from|X-Originating-IP:|OriginalSenderIP:|X-AOL-IP:) \[?83\.229\.([0-9]?[0-9]|1[0-1][0-9]|12[0-7])\.[0-9]+\]?/ REJECT nigerian spam/scam/419 detected
Поэтому все, что вам нужно сделать, это изменить его так, как вы хотите проверять поле From. Надеюсь, это будет полезно.
Строки From: и To: (и другие) в заголовке сообщения не имеют значения для доставки почты. Имеют значение только адреса на конверте (MAIL FROM и RCPT TO). Таким образом, при обеспечении соответствия отправителя MAIL FROM пользователю, прошедшему проверку подлинности SASL, вы сделали все возможное, чтобы предотвратить неправомерное использование учетной записи. Стандартные почтовые клиенты и даже спам-боты сами гарантируют, что поля From: и MAIL FROM равны. Но если вы действительно хотите убедиться, что From: и MAIL FROM, вам необходимо подать заявку header_checks
так что Return-Path:
Спички From: