Exim4 - временно заморозьте исходящую почту от определенного пользователя

я предполагаю, что Вы интересуетесь простой активно-пассивной установкой.

ucarp и heartbeat в такой установке делают в значительной степени то же самое. в сущности - они запускают предоставленные скрипты, когда машина избрана, чтобы быть ведущим устройством / горячее резервирование.

heartbeat мог бы выглядеть намного более сложным [так как может помочь, что Вы автоматизировать drdb монтируетесь, перезапуская многочисленные услуги и т.д.], но в конце - можно написать сценарий всего этого и позволить ucarp вызвать его].

лично - я выполняю heartbeat с единственным ресурсом - который является сценарием, который делает следующее:

  • [ООН] связывает соответствующий IP-адрес
  • выполнения несколько arp-широковещательных-сообщений
  • запускается [останавливает] требуемые сервисы

моя очень упрощенная установка [heartbeat 2.1.3-6 под debian lenny]: у меня есть два сервера:

  • ser0 [предпочел активный узел] с постоянно присвоенным 10.0.0.2/24 в eth0
  • ser0b [узел горячего резервирования, ожидающий для замены ведущее устройство] постоянно присвоенным 10.0.0.3/24 в eth0

'плавающий IP' - присвоенный активному узлу является 10.0.1.1/24, присвоенным eth1

в этом сервисе случая, который получает высокую доступность, является апачским. я отдельно синхронизирую конфигурации апача и содержание, которое подается от ser0 до ser0b.

файлы ниже идентичны на обеих машинах за одним отмеченным исключением:

/etc/ha.d/authkeys:

auth 1
1 md5 somethingrandom

/etc/ha.d/haresources

ser0 ha.sh

/etc/ha.d/ha.cf

keepalive 2
deadtime 10
udpport        694 
; below - address permanently assigned to the peer node . this is for master:
ucast eth1 10.0.0.3
; and on slave i have 
; ucast eth1 10.0.0.2
udp     eth0
logfacility     local0
auto_failback on

node    ser0
node    ser0b

/etc/init.d/ha.cf [это может также быть в/etc/ha.d/resources.d/ha.cf]

#!/bin/bash
case "$1" in
  start)
        ip link set dev eth1 up
        # bind 'floating' ip to the interface
        ip a a 10.0.1.1/24 dev eth1
        # you might want to add some route-changes here if needed
        /usr/lib/heartbeat/send_arp -r 10 eth1 10.0.0.1 auto 10.0.0.255 255.255.255.0
        # to make sure apache reloads it's config when machine becomes master
        /etc/init.d/apache2 restart
  ;;

  stop)
        # we are no longer active, un-bind 'floating' ip from the interface
        ip a d 10.0.1.1/24 dev eth1
        # you could stop it as well or just skip this step
        /etc/init.d/apache2 restart
  ;;
esac
exit 0
6
задан 3 May 2011 в 22:55
1 ответ

Необходимо будет внести следующие изменения в Ваш exim.conf файл:

В основном разделе конфигурации удостоверьтесь, что Вы включили acl_smtp_mail управление следующим образом:

acl_smtp_mail = acl_check_mail

Обязательно изменитесь acl_check_mail к подлинному имени Вашего списка управления доступом, который обрабатывает acl_smtp_mail

Затем в acl_check_rcpt Раздел конфигурации ACL, создайте новое правило:

accept   condition = ${lookup{$sender_address}lsearch{/etc/exim/freezelist_sender_addresses}{1}{0}}
         control   = freeze/no_tell


Сохраните файл конфигурации. Теперь создайте файл /etc/exim/freezelist_sender_addresses и поместите все свои адреса отправителя, которые должны быть заморожены в этот файл, один адрес на строку. Удостоверьтесь, что Вы устанавливаете корректные полномочия на этом файле так, чтобы Exim мог считать его.

Все электронные письма, посланные с адресов в /etc/exim/freezelist_sender_addresses будет теперь принят в очередь (если они передают другой ACLs), и затем автоматически замороженный Exim.

Для размораживания этих сообщений выполните эту команду, заменив user@domain.tld адресом отправителя, почта которого была заморожена:

exiqgrep -i -f user@domain.tld | xargs exim -Mt 
4
ответ дан 3 December 2019 в 00:36

Теги

Похожие вопросы