2008-11-17 10 views
11

Estoy trabajando en un proyecto antispam (centmail) que implica que el remitente use un complemento de cliente que agrega un encabezado personalizado (así como una firma, pero esa parte es easier). El problema general es agregar un encabezado de correo electrónico a su correo saliente donde el contenido del campo de encabezado se determina dinámicamente para cada mensaje.¿Su cliente de correo electrónico le permite agregar encabezados personalizados programáticamente?

Sorprendentemente, esto no parece ser posible en Pine/Alpine. Pine le permite especificar un script de filtro para el correo saliente, pero solo el cuerpo y no los encabezados pasan a través de él. Por supuesto, puede definir encabezados personalizados en la configuración de Pine, pero no veo la forma de cambiar dinámicamente el contenido de los mismos.

Estaría agradecido de escuchar cómo hacerlo en otros clientes de correo electrónico (Thunderbird, Outlook, Evolution, Mutt, etc.). Y por supuesto si estoy equivocado acerca de Pine.

+0

Estoy cada vez más seguro de que no estoy equivocado acerca de Pine. En realidad, tiene una opción (_INCLUDEALLHDRS_) para pasar los encabezados al script de filtro saliente, pero todavía no permite que el script cambie los encabezados en el correo electrónico enviado. – dreeves

+0

Parece que Mutt tiene el mismo problema que Pine. – dreeves

+0

Dado que esta es una de las primeras preguntas que ofrece una recompensa, ¿no debería ser una pregunta "normal", no una wiki de la comunidad? –

Respuesta

27

Lo puedes hacer en Eudora.

Puede hacerlo programáticamente in Outlook con a custom form.

Puede hacerlo en Mozilla from about:config.

+0

¿Funciona la solución de Mozilla para actualizar programáticamente el contenido de un campo de encabezado personalizado para cada correo electrónico enviado? – dreeves

5

El plugin Thunderbird Enigmail controla los encabezados del correo saliente. Esa es una prueba de existencia que es posible en Thunderbird.

20

Aunque no es un complemento en el sentido más estricto, podría crear un servidor proxy SMTP que modificaría los correos electrónicos, p. algo así como el Analizador de correo saliente de AVG. Esto tendría la ventaja de trabajar con muchos clientes de correo electrónico; también podría hacer un complemento que se comunicaría con el proxy en un lado y la interfaz de usuario del correo electrónico en el otro.

0

Para todos los clientes de correo que admiten el uso de un editor externo, puede tener un script que agregue un encabezado específico a la plantilla que se envía al editor. En mutt, hay un parámetro de configuración llamado edit_headers que agrega un conjunto común de encabezados por lo que sería fácil agregar uno propio. También hay otro parámetro llamado my_hdr que podría usarse. Mutt admite la notación `backtick` para ejecutar comandos externos.

Sería mejor poder especificar su propia plantilla, pero aún no es posible.

2

Cavé esto desde las partes antiguas de melodías cerebro a otras cosas ...

Creo que el enfoque es ir a config Sendmail y hacerlo a través de [bash/etc] scripting si he entendido bien.

archivos raíz http://snap.nlc.dcccd.edu/reference/sysadmin/julian/ewtoc.html

de configuración de Sendmail

Header Declaraciones http://snap.nlc.dcccd.edu/reference/sysadmin/julian/ch04/061-064.html#Heading22

http://snap.nlc.dcccd.edu/reference/sysadmin/julian/ch04/078-080.html

El formato de las líneas de cabecera se definido por la línea H. La sintaxis de esta línea es

H [c? C mflagsc?] c hnamec: c htemplate

Las líneas de continuación en esta especificación se insertan directamente en en el mensaje saliente. La plantilla se expande en macro antes de insertarse en el mensaje . Si la expansión está vacía, la línea de encabezado es no incluida. Si los mflags (rodeados de signos de interrogación) están especificados en , al menos uno de los indicadores especificados debe indicarse en la definición de envío para este encabezado a se emitirá automáticamente. Si uno de estos encabezados está en la entrada, es dirigido a la salida independientemente de estos indicadores.

Líneas de encabezado especiales Varias líneas de encabezado tienen interpretaciones especiales definidas por el archivo de configuración. Otros tienen interpretaciones integradas en sendmail que no se pueden cambiar sin cambiar el código. Los características incorporadas se describen en la siguiente lista :

• Return-Receipt-To: Si se envía esta cabecera , un mensaje será enviado a cualquier nombres especificados cuando la última entrega es completa. El programa de correo debe tener la bandera l (entrega local) establecida en en el descriptor de correo. • Errores-Para: si se producen errores en cualquier lugar durante el procesamiento, este encabezado envía mensajes de error a los nombres enumerados en lugar de al remitente. Utilice esta línea de encabezado para listas de correo para que los errores se devuelvan al administrador de la lista . • A: Si un mensaje viene en sin destinatarios que aparecen en el mensaje (en un Para :, CC :, o CCO: línea), Sendmail añade un parecer: línea cabecera para cada destinatario especificada en el Sendmail comando línea.

5

Estoy de acuerdo con Piskvor. Me implementarlo como un servidor proxy SMTP lo cual produciría una serie de beneficios:

  1. No estaría obligado a cualquier cliente de correo electrónico y por lo tanto uno limitado por su API (si lo hay)
  2. Se puede aplicado en el extremo del servidor de correo, por lo tanto, se eliminan los dolores de cabeza de instalación y despliegue
4

Emacs puede hacerlo mediante programación. Puede crear un búfer (get-buffer-create), llenarlo con información de encabezado y llamar al mail-send de forma no interactiva (establezca mail-interactive en nil).

Ejemplo de contenidos de tampón (cabecera + cuerpo) para utilizar con mail-send:

From: "Toto" <[email protected]> 
To: [email protected] 
Subject: Something 
BCC: [email protected] 
--text follows this line-- 

Hello, how are you? 

También puede alterar cada correo electrónico saliente (cabecera + corporal) mediante la adición de un gancho para mail-send-hook.

1

Se me ocurre que, como pine es de código abierto, si esta funcionalidad es importante para usted para este programa, puede intentar contribuir al proyecto para agregar la característica.

+0

¡Si lo haces, obtienes la recompensa por esta pregunta! :) – dreeves

1

Una cosa que es posible que desee considerar es usar pseudocabeceras en lugar de encabezados. Debido a que pine/alpine le permite especificar un programa de filtro para el correo electrónico, puede agregar el encabezado al cuerpo al principio, lo cual debería ser lo suficientemente fácil de procesar. No estoy seguro de si se ajustaría exactamente a sus propósitos, ya que no sé qué tipo de sistema está creando.

Me enteré de los pseudocabezados a través de su uso en el Debian BTS System.

Respondiendo a la pregunta, utilizo GMail, y no puede editar los encabezados mediante programación (me interesaría ver un correo web que le permita). Usted can't even filtra en encabezados personalizados como X-List, es bastante molesto.

1

Algo está mal con la idea general de conectar clientes de correo para encabezados personalizados.

Hay muchos clientes por ahí. Incluyendo diferentes versiones, en diferentes sistemas.

Lo bueno detrás del formato de encabezado + cuerpo es que todos los datos no pertenecientes al usuario, al servidor y al enrutamiento están ocultos para el usuario. Y esa idea es importante de seguir. No creo que el usuario deba preocuparse por algunos encabezados personalizados relacionados con el servidor.

Además, los datos que intenta agregar son, de hecho, datos específicos del usuario. Como la firma. Verifica la validez del remitente. No hay razón para esconderlo del usuario.

La firma de datos de correo electrónico es un proceso bien conocido, utilizado por PGP, SMIME, etc. Probablemente haya más clientes de correo que permitan tales acciones (verificar y firmar mediante programas externos) que permitir agregar o modificar encabezados de correo personalizados.

Los encabezados personalizados deben ser modificados por los servidores de correo; datos de usuario por clientes de correo.

Creo que debe poner sus datos en un mensaje o en una parte del mensaje.

1

Una forma de hacer que funcione en pino sin modificar pine ni modificar el servidor de correo es hacer que pine entregue un programa de línea de comando (tradicionalmente/usr/sbin/sendmail o similar) y hacer que el programa llamado sea envoltura para el programa original. Entonces puedes agregar cualquier encabezado que necesites.

Eso es feo, sin embargo, no escalaría para una base de usuarios completa.

Cuestiones relacionadas