Coloque varias carpetas de correo electrónico en caso de que varios destinatarios utilicen procmail

StackOverflow https://stackoverflow.com//questions/9617570

  •  09-12-2019
  •  | 
  •  

Pregunta

Voy a construir un sistema de correo electrónico en casa y estoy suscrito a muchas listas de correo.Los correos electrónicos se recuperaron en mi máquina local mediante fetchmail y se filtraron mediante procmail.Pero hay una situación que no es posible resolver con mis conocimientos actuales.He estado buscando en Google durante 2 o 3 horas para encontrar una solución sin ningún resultado.

Lo que quiero es que reciba un correo electrónico con varios destinatarios y me gustaría copiar este correo electrónico en diferentes carpetas.Aquí hay un ejemplo:

Cc: linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org

Me gustaría poner este correo electrónico en la carpeta linux-kernel y linux-kernel-janitors.¿Cómo puedo hacerlo por procmail?

¡Gracias de antemano!

¿Fue útil?

Solución

Puede hacer que Procmail se repita en la lista de destinatarios usando SWITCHRC= pero esto es bastante hack.O, si tiene una lista limitada de carpetas que desea procesar, puede entregarlas en cada una por separado y soltar el mensaje si lo ha entregado al menos una vez.

LASTFOLDER=
:0c:
* ^TO_linux-kernel@vger\.kernel\.org\>
linux-kernel
:0c:
* ^TO_kernel-janitors@vger\.kernel\.org\>
kernel-janitors
# ... repeat for other addresses you want to multiplex ...
# If it was delivered, LASTFOLDER will be set
:0
* LASTFOLDER ?? .
/dev/null

Si es posible que haya copiado en bandejas de entrada adicionales antes de llegar a esta sección, desea configurar explícitamente LASTFOLDER a la cadena vacía.De lo contrario no debería ser necesario, pero lo dejé por precaución.(Esta variable contiene el nombre de la última carpeta a la que se entregó el mensaje).

Otros consejos

La solución se ve así:

En primer lugar, se necesita una declaración si se necesita una declaración de IF porque mi archivo .PROCMAILRC no contiene no solo las condiciones del filtro de la lista de correo de Kernel.Si coincide de lo que hay otra lista de condiciones.Creo que en el momento será más fino.

:0
 * [To|Cc].*vger.kernel.org
   LASTFOLDER=

    :0Ac:
    * ^[To|Cc].*linux-janitors@vger.kernel.org
    | DoItSomethingWithIt

    :0Ac:
    * ^[To|Cc].*linux-kernel@vger.kernel.org
    | DoItSomethingWithIt2

    :0                             
    * LASTFOLDER ?? .
    | DoItSomethingWithIt3

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top