снабдите постфиксом smtp релейный сценарий

Похож Вы не загружаетесь mod_proxy_http модуль (который необходим для проксирования к серверам HTTP). У меня нет Ubuntu 10.04 передо мной, но IIRC, как который это - что-то:

sudo a2enmod proxy_http
1
задан 31 October 2013 в 17:33
2 ответа

Как именно вы это реализуете, зависит от вас, но вы можете создать свой собственный транспорт, и этот транспорт может быть сценарием, демоном и т. Д.

Если бы вы могли сохранить туннель вверх, было бы очень просто, вы просто установите

domain2.com smtp: 127.0.0.1: 2000 (или любой другой порт, который вы назначили локально)

транспорт вверх.

2
ответ дан 3 December 2019 в 17:46

Postfix не поддерживает перехват сценария при доставке. Чтобы обойти это, вы можете настроить crontab для выполнения специального сценария. Этот сценарий будет:

  1. Настройка SSH-туннеля
  2. Очистить очередь.

Сначала определите sender_dependent_relayhost_maps с правым значением - это ваш порт туннеля (например, порт 2525).

#/etc/main.cf
sender_dependent_relayhost_maps = hash:/etc/postfix/sshtunnel

#/etc/postfix/sshtunnel
domain2.com smtp:[127.0.0.1]:2525

Когда туннель не был подключено, postfix будет временно отложить отправку электронной почты из-за Ошибка подключения . Так что вы можете не беспокоиться о потере электронной почты.

Затем настройте crontab для выполнения вышеуказанного сценария. Вот псевдоскрипт для достижения этих целей. Небольшая модификация из этого исходного скрипта .

#!/bin/sh

#setup ssh tunnel. modify the parameter for your needs
ssh -L 2525:localhost:25 user@remote.example.com

# Start mail deliveries.
/usr/sbin/sendmail -q

# Allow deliveries to start.
sleep 10

# Loop until all messages have been tried at least once.
while mailq | grep '^[^ ]*\*' | grep domain2.com >/dev/null
do  
    sleep 10
done
2
ответ дан 3 December 2019 в 17:46

Теги

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