Я создал скрипт sieve, который фильтрует определенные слова в теме, отбрасывает тело и отправляет уведомление получателю и отправителю.
Все работает хорошо, но единственное, что я не могу понять, это как изменить ответное письмо, чтобы оно не было от POSTMASTER.
Я изменил 15-lda.conf в /etc/dovecot/conf.d
#Address to use when sending rejection mails.
#Default is no-reply@%d. %d expands to recipient domain.
postmaster_address = no-reply@my-domain.com.
но все равно получаю From: Postmaster. Просто предупреждаю: dovecot, postfix перезапущены.
Не могли бы вы указать мне, что мне нужно сделать, чтобы изменить это на что-то другое или избавиться от этого вообще?
Это мой сценарий
require ["enotify", "mailbox", "reject", "variables"];
if header :matches "to" ["*", "*", "*"] {
set "r1" "${1}";
set "r2" "${2}";
set "r3" "${3}";
}
if header :matches "from" "*" {
set "sender" "${1}";
}
#sets variables for position in the address and it works for CC and BC aswell.
#This is the way sieve works by setting position in the line for TO or FROM.
if header :matches "Subject" "SEC=SECRET" {
notify :importance "1"
:message "SEC=SECRET Email Received"
"mailto:${r1}${r2}${r3}";
}
if header :matches "Subject" "SEC=TOP SECRET" {
notify :importance "1"
:message "You have received an email with a SECRET or TOP SECRET classification from ${sender}. The message exceeds the classification of company's email system and has been discarded. The sender of the message has also been informed"
"mailto:${r1}${r2}${r3}";
}
if header :matches "Subject" "SEC=TOP-SECRET" {
notify :importance "1"
:message "You have received an email with a SECRET or TOP SECRET classification from ${sender}. The message exceeds the classification of company's email system and has been discarded. The sender of the message has also been informed"
"mailto:${r1}${r2}${r3}";
}
#matches the Subject and if it containes SECRET or TOP SECRET
#sends notification to receivers specified in mailto:
#doesn't include the body of email
if anyof (header :contains "Subject" "SEC=SECRET",
header :contains "Subject" "SEC=TOP SECRET",
header :contains "Subject" "SEC=TOP-SECRET")
{
reject "Our systems have not been certified to accept emails classified as SECRET or TOP-SECRET. Your message has been deleted and the recipients have been informed.";
}
#matches the Subject, drops the body and sends notification to the sender with the message specified.
Спасибо за ответ.
Я не уверен, понимаете ли вы, что я здесь пытаюсь сделать.
Это актуальная задача: «Серверы электронной почты настроены так, чтобы блокировать, регистрировать и сообщать об электронных письмах с несоответствующей защитной маркировкой». «Предполагаемые получатели любых заблокированных входящих писем и отправитель о любых заблокированных исходящих электронных письмах, получают уведомление ". Создайте тестовый почтовый сервер, используя контейнер docker-mailserver, и разработайте плагин фильтра содержимого, который блокирует, регистрирует и сообщает сообщения с SEC = SECRET или SEC = TOP SECRET в теме линия. Уведомить отправителя и получателя, не раскрывая содержание сообщения.
Пожалуйста, поправьте меня, если я ошибаюсь. В своем комментарии вы говорите о действии enotify, но оно не имеет ничего общего с моей проблемой, потому что я использую его для отправки электронного письма с уведомлением исходному получателю. Чтобы уведомить первоначального отправителя, я использую действие «отклонить». Означает, что когда входящее письмо отбрасывается и отправляется ответ, исходный отправитель получает электронное письмо от Postmaster. Итак, вопрос в том, как от него избавиться?
Спасибо