Erläuterung

Erläuterung

Erläuterung

Ich habe eine Pipe wie folgt verwendet, um eingehende E-Mails an meine Laravel-App weiterzuleiten, aber zuerst nach Spam zu suchen. Folgendes wird als virtueller Transport verwendet

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}

Eigentlich sollte spamc mit dem Benutzer spamd ausgeführt werden. Wenn ich das aber tue, kann Apache die Maildatei nicht wie erforderlich speichern, da diese Dateien Apache gehören und Laravel versucht, neu hinzugefügte Dateien zu chownen.

Was ich frage

Es muss doch eine bessere Möglichkeit geben, E-Mails zunächst als Spamd-Benutzer an Spamassassin umzuleiten und die Ausgabe dann als Apache an PHP zu senden. Oder ist das einfach nicht möglich? Gibt es eine bessere Möglichkeit, das zu tun?

Danke schön.

Antwort1

Ich hatte Erfolg mit der Verwendung einer separaten Pipe für SMTP wie

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}

Dies bedeutet, dass nur von außen eingehende E-Mails an Spamc gesendet werden und Spamc sie anschließend an Postfix zurücksendet, damit sie ordnungsgemäß transportiert werden können.

Zuerst war ich verwirrt und habe es nicht versucht, weil ich dachte, es würde eine Endlosschleife des E-Mail-Versands an sich selbst bedeuten

verwandte Informationen