Explicación

Explicación

Explicación

He estado usando una tubería de la siguiente manera para canalizar el correo entrante a mi aplicación laravel, pero primero verifique si hay spam. Lo siguiente se está utilizando como transporte virtual.

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}

Pero en realidad, spamc debería ejecutarse con el usuario spamd, pero si lo hago, entonces Apache no puede almacenar el archivo de correo como se requiere, ya que esos archivos son propiedad de Apache y laravel intentará editar los archivos recién agregados.

lo que estoy preguntando

Tiene que haber una mejor manera de redirigir el correo primero a spamassassin como usuario spamd y luego enviar el resultado a php como apache. ¿O simplemente esto no es posible? ¿Alguna mejor manera de hacer esto?

Gracias.

Respuesta1

Encontré éxito usando una tubería separada para smtp como

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}

Esto significa que sólo el correo entrante del exterior se envía a spamc, luego spamc lo devuelve a postfix para que lo transporte como debe ser.

Al principio estaba confundido y no intenté esto porque pensé que terminaría en un bucle interminable de envío de correo a sí mismo.

información relacionada