Postfix в Spamassassin, затем в скрипт PHP

Объяснение

Я использовал конвейер, как показано ниже, для пересылки входящей почты в мое приложение laravel, но сначала проверьте, нет ли спама. В качестве виртуального транспорта используется следующее

myhook unix - n n - - pipe
  flags=F user=apache argv=/usr/bin/spamc -e /usr/bin/php -f /var/www/laravel/artisan mail:incoming ${sender} ${size} ${recipient}

. Но на самом деле spamc следует запускать с пользователем spamd, но если я это сделаю, тогда apache не сможет сохранить почтовый файл по мере необходимости, поскольку эти файлы принадлежат apache, и laravel попытается для просмотра недавно добавленных файлов.

О чем я прошу

Должен быть лучший способ перенаправить почту сначала на spamassassin как пользователь spamd, а затем после отправки вывода на php как apache. Или это просто невозможно? Есть ли лучший способ сделать это?

Спасибо.

0
задан 15 December 2020 в 16:07
1 ответ

я нашел успешное использование отдельного канала для smtp, такого как

smtp      inet  n       -       n       -       -       smtpd
  -o content_filter=spamassassin

# ...
spamassassin unix -     n       n       -       -       pipe
    user=spamd argv=/usr/bin/spamc -f -e  
    /usr/sbin/sendmail -oi -f ${sender} ${recipient}

myhook unix - n n - - pipe
  flags=F user=apache argv=/usr/bin/php -f /var/www/laravel/artisan mail:incoming ${sender} ${size} ${recipient}

Это означает, что только входящая почта извне отправляется в spamc, а затем spamc отправляет ее обратно в postfix для транспортировки, как это должно быть.

Сначала я был в замешательстве и не пробовал, потому что думал, что это закончится бесконечным циклом отправки почты самому себе

1
ответ дан 15 December 2020 в 14:21

Теги

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