Necesito hacer un filtro para el correo saliente. Para copiar mensajes si "para" contiene la dirección de correo electrónico proporcionada. Tengo:
# rule:[Copy to slack]
if address :contains "to" "[email protected]"
{
redirect :copy "[email protected]";
}
y lo intento
# rule:[Copy to slack]
if address :contains "to" "[email protected]"
{
redirect :copy "[email protected]";
}
o
# rule:[Copy to ]
if address :contains "to" "[email protected]"
{
fileinto "INBOX.Redmine";
}
Pero cada vez el filtro no funciona.
Esto solo funciona si envío desde la dirección que tengo en "para" u otro correo local.
¿Algunas ideas?
Respuesta1
No funciona porque no puede funcionar de esta manera:Si envía correo, lo hará al puerto 465 directamente a Postfix; no se ejecutará ningún script Sieve.
Si desea utilizar el lenguaje sieve para trabajar con el correo saliente, tendría que esforzarse mucho más, porque no está bien integrado en el software común, al menos no tan bueno como la integración de Pigeonhole Sieve en Dovecot, que solo desencadenar en dos casos de uso específicos:
- al recibir correo, también conocido como elEntrega finaletapa del correo destinado a un buzón que administra Dovecot, o
- sobre la gestión de un buzón, específicamente las acciones de un cliente local o conectado a IMAP en un buzón que gestiona Dovecot.
Cabe destacar que esa integración no manejará el caso del envío de correo: si bien Dovecot incluye un proxy de envío, generalmente no participa en absoluto en esa dirección y, en los casos excepcionales en los que se utiliza, aún así no maneja Sieve.
Tienes algunas opciones ahora:
- active su script en el correo que está almacenado en un buzón "enviado" (pero eso no actuaría en el correo que no está almacenado en ese buzón)
- reemplace su script con la funcionalidad incorporada de Postfix.destinatario_bcc_mapsme viene a la mente
- configure postfix
header_checks
para simplemente rechazar el correo que no sigue su política (por ejemplo, omite el encabezado Para: deseado y luego rechaza todas las versiones incompletas del mismo) - configurar la copia en algún milter/filtro
- configure una dirección (preferiblemente nueva, local) que configure para que se expanda a las dos direcciones en las que desea recibir el correo, permita que los usuarios envíen su correo allí
- canalizar el correo para ese destinatario a un script, posiblemente uno que use su script Sieve (es poco probable que sea su mejor opción: usar Sieve fuera del caso de uso LDA simplemente no es compatible con ningún software existente)