¿Su cliente de correo electrónico le permite agregar encabezados personalizados mediante programación?
-
08-07-2019 - |
Pregunta
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 más fácil ). 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.
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 forma de cambiar dinámicamente su contenido.
Le agradecería saber cómo hacer esto en otros clientes de correo electrónico (Thunderbird, Outlook, Evolution, Mutt, etc.). Y, por supuesto, si me equivoco con respecto a Pine.
Solución
Puede hacerlo en Eudora .
Puede hacerlo mediante programación en Outlook con un formulario personalizado .
Puede hacerlo en Mozilla de about: config .
Otros consejos
Aunque no es un complemento en el sentido más estricto, puede crear un servidor SMTP proxy que modifique los correos electrónicos, p. algo así como el escáner de correo electrónico saliente AVG. Esto tendría la ventaja de trabajar con muchos clientes de correo electrónico; también puede hacer un complemento que se comunique con el proxy por un lado y la interfaz de usuario de correo electrónico por el otro.
El complemento Thunderbird Enigmail controla los encabezados del correo saliente. Entonces esa es una prueba de existencia de que es posible en Thunderbird.
Estoy de acuerdo con Piskvor. Lo implementaría como un servidor proxy SMTP que produciría una serie de beneficios:
- No estaría limitado a ningún cliente de correo electrónico y, por lo tanto, limitado por sus API (si las hubiera)
- Se puede aplicar en el servidor de correo, por lo tanto, se eliminan los dolores de cabeza de instalación e implementación
Emacs puede hacer esto mediante programación. Puede crear un búfer ( get-buffer-create
), llenarlo con información de encabezado y llamar a mail-send
de forma no interactiva (configure mail-interactive
a nil
).
Ejemplo de contenido de búfer (encabezado + cuerpo) para usar con mail-send
:
From: "Toto" <toto@toto.net>
To: somebody@somewhere.net
Subject: Something
BCC: sebastien.rocca-serra@f4-group.com
--text follows this line--
Hello, how are you?
También puede modificar cada correo electrónico saliente (encabezado + cuerpo) agregando un enlace a mail-send-hook
.
Esto ya se ha preguntado específicamente sobre Thunderbird:
La respuesta principal contiene el código para modificar los encabezados en xul / js.
Cavé esto de las partes antiguas de las melodías de Brain a otras cosas ...
Creo que ese enfoque es ir a config SENDMAIL y hacerlo a través de la secuencia de comandos [bash / etc] si entiendo correctamente .
Archivo raíz http://snap.nlc.dcccd.edu/reference/sysadmin/ julian / ewtoc.html
Configuración de envío de correo
Declaraciones de encabezado 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 encabezado es definido por la línea H. La sintaxis de esta línea es
H [c? c mflagsc?] c hnamec: c htemplate
Líneas de continuación en este especificación se insertan directamente en el mensaje saliente. los htemplate es macro expandido antes de se inserta en el mensaje. Si el la expansión está vacía, la línea de encabezado es no incluido. Si las banderas (rodeado de signos de interrogación) son especificado, al menos uno de los las banderas especificadas deben indicarse en el definición de correo para este encabezado a se emitirá automáticamente. Si uno de estos encabezados están en la entrada, es dirigido a la salida independientemente de estas banderas.
Líneas de encabezado especiales Varios encabezado las líneas tienen interpretaciones especiales definido por el archivo de configuración. Otros tienen interpretaciones incorporadas sendmail que no se puede cambiar sin cambiar el código los las características integradas se describen en el siguiente lista:
& # 8226; Return-Receipt-To: si este encabezado se envía, se enviará un mensaje a cualquier nombres especificados cuando el final La entrega está completa. El remitente debe tener la bandera l (entrega local) establecida en el descriptor de correo. & # 8226; Errores a: si se producen errores en cualquier lugar durante el procesamiento, este encabezado envía mensajes de error a los nombres listados en lugar de al remitente. Utilizar esta línea de encabezado para listas de correo para que los errores se devuelven a la lista administrador. & # 8226; Para: si un mensaje viene sin destinatarios enumerados en el mensaje (en un Para :, CC :, o BCC: línea), sendmail agrega un Aparentemente a: línea de encabezado para cada destinatario especificado en el comando sendmail línea.
Se me ocurre que dado que pine es de código abierto, si esta funcionalidad es importante para usted para este programa, podría intentar contribuir al proyecto para agregar la característica.
Una cosa que quizás desee considerar es usar pseudo-encabezados en lugar de encabezados. Becasue pine / alpine le permite especificar un programa de filtro para el correo electrónico, puede agregar el encabezado al cuerpo al principio, lo que debería ser lo suficientemente fácil de procesar. Sin embargo, no estoy seguro de si se adaptaría exactamente a sus propósitos, ya que no sé qué tipo de sistema está armando.
Aprendí sobre pseudo-encabezados a través de su uso en el Sistema Debian BTS .
Respondiendo la pregunta, uso GMail y no puedes editar los encabezados mediante programación (me interesaría ver un correo web que te permita). ni siquiera puede filtrar en encabezados personalizados como X-List, es bastante molesto.
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 del formato de encabezado + cuerpo es que todos los datos específicos del usuario, del servidor y de la ruta están ocultos para el usuario. Y esa idea es importante para seguir. No creo que el usuario deba molestarse con algunos encabezados personalizados relacionados con el servidor.
Además, los datos que está intentando agregar son, de hecho, datos específicos del usuario. Me gusta la firma. Verifica la validez del remitente. No hay razón para ocultarlo 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 debes poner tus datos en el mensaje o parte del mensaje.
Una forma de hacerlo funcionar en pine sin modificar pine o modificar el servidor de correo es hacer que pine se entregue a través de un programa de línea de comandos (tradicionalmente / usr / sbin / sendmail o similar) y que el programa llamado sea un contenedor para el programa original Luego puede agregar cualquier encabezado que necesite.
Sin embargo, eso es feo, ciertamente no se adaptaría a toda una base de usuarios.
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 para que sea fácil agregar los suyos propios. También hay otro parámetro llamado my_hdr
que podría usarse. Mutt admite la notación `` retroceso '' para ejecutar comandos externos.
Sería mejor poder especificar la propia plantilla, pero aún no es posible.