Как прервать данные входящей корреспонденции между почтовым сервером и веб-сервером

Это - очень типичное (и я должен сказать, раздражающий!) вещь Ubuntu на VMs

Для сброса этого поведения, необходимо выполнить следующую команду

rm -f /etc/udev/rules.d/70-persistent-net.rules

После того как это сделано, перезапускают Ваш VM, и сети должны возрасти и хорошо работающий снова.

1
задан 2 October 2013 в 17:54
2 ответа

Вы, наверное, захотите взглянуть на Amavis . Он в основном рекламируется как антивирус, но вы можете отключить его и запустить любой скрипт Perl, который захотите. Вы найдете включены примеры сценариев, некоторые из которых содержат вызов базы данных. Он очень хорошо интегрируется с Postfix / Dovecot.

0
ответ дан 3 December 2019 в 21:26

Самый простой способ - выполнить LDA не напрямую из постфикса, а путем вызова dovecot_lda, заключенного в сценарий some.

Давайте изменим конфигурацию postfix:

mailbox_command = /some/path/to/the/script.sh "$SENDER" "$RECIPIENT"

Let script.sh содержит такой код:

#!/bin/sh

MSG=$(cat < &0)
ARG1=$1
ARG2=$2

# let's deliver message as usual
echo "$MSG" | /usr/lib/dovecot/dovecot-lda -f $ARG1 -a $ARG2

# from here we can do anything we want
echo "$MSG" > /some/path/to/the/fresh/$$.copy
echo $MSG | while read line
do 
   if [ $line != '' ]
   then
      echo $line >> /some/other/file.txt
   else 
      echo '---------------------' >> /some/other/file.txt
      break
   fi 
done
#####

Тогда вашему программному обеспечению, которое генерирует веб-страницы, нужно только прочитать все от / some / path / до / the / fresh / * и включить их в html.

2
ответ дан 3 December 2019 в 21:26

Теги

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