Estoy construyendo una extensión de Thunderbird y me gustaría agregar mi propio encabezado a todos los correos electrónicos salientes (por ejemplo, < myext-versión: 1.0 >). ¿Alguna idea de cómo hacer esto? Sé que es posible, ya que esto se hace en la extensión OpenPGP Enigmail. ¡Gracias!¿Cómo insertar encabezados de correo electrónico con una extensión de Thunderbird?
Respuesta
No sé la respuesta, pero sólo algunos pensamientos ...
creo extensiones de Thunderbird son por lo general sólo XUL y JS. Desde el sitio enigmail:
A diferencia de la mayoría de los addons de Mozilla, Enigmail contiene partes dependientes de plataforma: se depende de la CPU, el compilador, bibliotecas del sistema operativo y la aplicación de correo electrónico que se integrar en.
Si examina el código fuente de Enigmail, this might be the relevant section (escrito en C++)
lo que es posible que o bien traducir lo que han hecho en js (!) O seguir buscando un ejemplo diferente.
Aquí está el código de una extensión que estoy trabajando:
function SendObserver() {
this.register();
}
SendObserver.prototype = {
observe: function(subject, topic, data) {
/* thunderbird sends a notification even when it's only saving the message as a draft.
* We examine the caller chain to check for valid send notifications
*/
var f = this.observe;
while (f) {
if(/Save/.test(f.name)) {
print("Ignoring send notification because we're probably autosaving or saving as a draft/template");
return;
}
f = f.caller;
}
// add your headers here, separated by \r\n
subject.gMsgCompose.compFields.otherRandomHeaders += "x-test: test\r\n";
}
},
register: function() {
var observerService = Components.classes["@mozilla.org/observer-service;1"]
.getService(Components.interfaces.nsIObserverService);
observerService.addObserver(this, "mail:composeOnSend", false);
},
unregister: function() {
var observerService = Components.classes["@mozilla.org/observer-service;1"]
.getService(Components.interfaces.nsIObserverService);
observerService.removeObserver(this, "mail:composeOnSend");
}
};
/*
* Register observer for send events. Check for event target to ensure that the
* compose window is loaded/unloaded (and not the content of the editor).
*
* Unregister to prevent memory leaks (as per MDC documentation).
*/
var sendObserver;
window.addEventListener('load', function (e) {if (e.target == document) sendObserver = new SendObserver(); }, true);
window.addEventListener('unload', function (e) { if (e.target == document) sendObserver.unregister();}, true);
Ponga esto dentro de un archivo .js que se carga por la ventana de redacción (por ejemplo, mediante la superposición de chrome://messenger/content/messengercompose/messengercompose.xul)
.
El control en SendObserver.observe era necesario en mi caso porque quería hacer una interacción con el usuario, pero probablemente podría dejarlo fuera
- 1. Cómo crear encabezados de correo electrónico personalizados
- 2. Correo electrónico de análisis "Recibido:" encabezados
- 3. cómo insertar una imagen en la plantilla de correo electrónico
- 4. Cómo probar encabezados de correo electrónico usando RSpec
- 5. Cómo utilizar Delphi para obtener el texto del mensaje de correo electrónico de Thunderbird
- 6. cómo insertar una nueva línea en el correo electrónico utilizando el comando de correo de Linux?
- 7. Corregir encabezados de correo electrónico para entregar el correo de la lista de correo
- 8. Extraiga solo los encabezados de correo electrónico en python
- 9. Soporte de cliente de correo electrónico para imágenes PNG en el correo electrónico HTML
- 10. Cómo depurar un complemento de Thunderbird/JavaScript de la extensión
- 11. Cómo crear una lista de correo electrónico
- 12. Detección de correo electrónico reenviado
- 13. ¿Su cliente de correo electrónico le permite agregar encabezados personalizados programáticamente?
- 14. Módulo de correo electrónico de Python: encabezado de formulario "De" con un nombre unicode + correo electrónico
- 15. ¿Cuál es el formato de los encabezados de correo electrónico que muestran un nombre en lugar del correo electrónico?
- 16. Equivalente de Firebug para Thunderbird
- 17. ¿Pueden los encabezados de correo electrónico personalizados activar filtros de correo no deseado?
- 18. Integración de correo electrónico
- 19. postfix: envíe una copia de cada correo electrónico a una dirección de correo electrónico dada
- 20. En busca de un cliente de correo electrónico de mierda
- 21. Cómo descargar correo electrónico con PHP
- 22. Obtener correo electrónico de Outlook con Delphi
- 23. Establezca encabezados de correo electrónico para que los correos electrónicos devueltos vayan a una dirección específica
- 24. Cómo verificar que realmente exista una dirección de correo electrónico enviando un correo electrónico a java
- 25. Correo electrónico de C# a Gmail marcada como correo no deseado, pero del cliente de Thunderbird se entregan normalmente (sin correo no deseado)
- 26. Procesamiento de correo electrónico con NodeJS
- 27. Servicio de alojamiento de correo electrónico/buzón con una API
- 28. Cómo manejar encabezados de correo electrónico UTF-8 (como Asunto :) usando Ruby?
- 29. ¿Cómo incrustar imágenes en el correo electrónico HTML en el servidor de correo?
- 30. PHP función de validación de correo electrónico
¿Esto no pertenece a superuser.com? –
Es apropiado ya que está codificando una extensión. Si busca una extensión existente, debería pertenecer a superuser.com. – studgeek