Question

Je travaille sur un projet anti-spam ( centmail ) qui consiste à faire en sorte que l'expéditeur utilise un plug-in client qui ajoute un en-tête personnalisé (ainsi qu'une signature, mais plus facile de cette partie). Le problème général est d’ajouter à votre courrier sortant un en-tête d’e-mail dans lequel le contenu du champ d’en-tête est déterminé dynamiquement pour chaque message.

De manière surprenante, cela ne semble pas être possible dans Pine / Alpine. Pine vous permet de spécifier un script de filtrage pour le courrier sortant, mais seul le corps, et non les en-têtes, est transmis. Vous pouvez bien sûr définir des en-têtes personnalisés dans les paramètres Pine, mais je ne vois aucun moyen de modifier dynamiquement leur contenu.

Je serais reconnaissant de savoir comment procéder dans d’autres clients de messagerie (Thunderbird, Outlook, Evolution, Mutt, etc.). Et bien sûr, si je me trompe à propos de Pine.

Était-ce utile?

La solution

Vous pouvez le faire dans Eudora .

Vous pouvez le faire par programme dans Outlook avec un formulaire personnalisé .

Vous pouvez le faire dans Mozilla dans about: config .

Autres conseils

Bien qu’il ne s’agisse pas d’un plug-in au sens strict du terme, vous pouvez créer un serveur proxy SMTP qui modifierait les courriers électroniques - par exemple, quelque chose comme le scanner de courrier électronique sortant AVG. Cela aurait l’avantage de travailler avec de nombreux clients de messagerie. vous pouvez également créer un plug-in qui communiquerait avec le proxy d'un côté et l'interface utilisateur de messagerie de l'autre.

Le plugin Thunderbird Enigmail contrôle les en-têtes du courrier sortant. C'est donc une preuve de l'existence qu'il est possible dans Thunderbird.

Je suis d'accord avec Piskvor. Je le mettrais en œuvre en tant que serveur proxy SMTP, ce qui apporterait de nombreux avantages:

  1. Vous ne seriez pas limité à un client de messagerie et donc limité à ses API (le cas échéant)
  2. Il peut être appliqué sur le serveur de messagerie, ce qui élimine les problèmes d'installation et de déploiement

Emacs peut le faire par programme. Vous pouvez créer un tampon ( get-buffer-create ), le remplir avec les informations d'en-tête et appeler mail-send de manière non interactive (set mail-interactive à nil ).

Exemple de contenu de tampon (en-tête + corps) à utiliser avec 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?

Vous pouvez également modifier chaque email sortant (en-tête + corps) en ajoutant un crochet à mail-send-hook .

Cela a déjà été demandé spécifiquement à propos de Thunderbird:

La réponse du haut contient le code permettant de modifier les en-têtes dans xul / js.

J'ai extrait cela des anciennes parties de Brain Tunes pour autre chose ...

Je pense que cette approche consiste à configurer SENDMAIL et à le faire via un script [bash / etc] si je comprends bien .

Fichier racine http://snap.nlc.dcccd.edu/reference/sysadmin/ julian / ewtoc.html

Configuration SendMail

Déclarations d'en-tête 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

  

Le format des lignes d'en-tête est   défini par la ligne H. La syntaxe de   cette ligne est

     

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

     

Lignes de continuation dans cette   spécification sont insérés directement   dans le message sortant. le   htemplate est macro-développé avant   est inséré dans le message. Si la   l'expansion est vide, la ligne d'en-tête est   non inclus. Si les mflags   (entourés de points d'interrogation) sont   spécifié, au moins un des   les drapeaux spécifiés doivent être indiqués dans le   définition de l'expéditeur pour cet en-tête   être automatiquement sortie. Si l'un des   ces en-têtes sont dans l'entrée, c'est   dirigé vers la sortie indépendamment de   ces drapeaux.

     

Lignes d'en-tête spéciales Plusieurs en-têtes   les lignes ont des interprétations spéciales   défini par le fichier de configuration.   D'autres ont des interprétations intégrées dans   sendmail qui ne peut pas être changé   sans changer le code. le   les fonctions intégrées sont décrites dans le   liste suivante:

     

• Retour-Réception-À: Si cet en-tête   est envoyé, un message sera envoyé à tout   noms spécifiés lors de la finale   la livraison est terminée. Le mailer doit   avoir le drapeau l (livraison locale)   dans le descripteur de l'expéditeur. •   Errors-To: Si des erreurs se produisent n'importe où   pendant le traitement, cet en-tête envoie   messages d'erreur aux noms énumérés   plutôt qu'à l'expéditeur. Utilisez ceci   ligne d'en-tête pour les listes de diffusion afin que   les erreurs sont renvoyées à la liste   administrateur. • À: Si un message   vient avec aucun des destinataires énumérés dans   le message (dans un À:, CC: ou BCC:   sendmail ajoute un message apparemment à:   ligne d'en-tête pour chaque destinataire   spécifié dans la commande sendmail   ligne.

Il me semble que, étant donné que pine est une source ouverte, si cette fonctionnalité est importante pour vous pour ce programme, vous pouvez essayer de contribuer au projet en ajoutant la fonctionnalité.

Vous pouvez également envisager d’utiliser des pseudo-en-têtes au lieu d’en-têtes. Parce que pine / alpine vous permet de spécifier un programme de filtrage pour le courrier électronique, vous pouvez ajouter l'en-tête au corps au début, ce qui devrait être assez facile à traiter. Je ne sais pas si cela conviendrait parfaitement à vos objectifs, car je ne sais pas quel type de système vous installez.

J'ai découvert les pseudo-en-têtes grâce à leur utilisation dans le système BTS Debian .

En réponse à la question, j'utilise GMail et vous ne pouvez pas modifier les en-têtes par programmation (je serais intéressé de voir un webmail qui vous le permette). Vous ne pouvez même pas filtrer sur des en-têtes personnalisés tels que X-List, c'est assez gênant.

Quelque chose ne va pas dans l'idée générale de brancher les clients de messagerie pour les en-têtes personnalisés.

Il y a juste pour beaucoup de clients là-bas. Y compris différentes versions, sur différents systèmes.

La bonne chose derrière le format en-tête + corps est que toutes les données spécifiques de non-utilisateur, de serveur et de routage sont masquées à l'utilisateur. Et cette idée est importante à suivre. Je ne pense pas que cet utilisateur devrait être dérangé par certains en-têtes personnalisés liés au serveur.

De plus, les données que vous essayez d’ajouter sont, en fait, des données spécifiques à l’utilisateur. Comme signature. Il vérifie la validité de l'expéditeur. Il n'y a aucune raison de le cacher de l'utilisateur.

La signature des données de courrier électronique est un processus bien connu, utilisé par PGP, SMIME, etc. Il existe probablement plus de clients de messagerie permettant de telles actions (vérification et signature par des programmes externes) que permettant d'ajouter ou de modifier des en-têtes de courrier personnalisés.

Les en-têtes personnalisés doivent être modifiés par les serveurs de messagerie. données utilisateur par clients mail.

Je pense que vous devez mettre vos données dans un message ou une partie de message.

Une façon de le faire fonctionner dans pine sans modifier pine ou le serveur de messagerie consiste à faire exécuter Pine via un programme en ligne de commande (traditionnellement / usr / sbin / sendmail ou similaire) et à faire en sorte que le programme appelé soit un wrapper. pour le programme original. Ensuite, vous pouvez ajouter l’en-tête dont vous avez besoin.

C’est moche, cela n’évoluerait certainement pas pour tous les utilisateurs.

Pour tous les clients de messagerie prenant en charge l’utilisation d’un éditeur externe, vous pouvez avoir un script qui ajoute un en-tête spécifique au modèle qui est envoyé à l’éditeur. Dans mutt , il existe un paramètre de configuration appelé edit_headers qui ajoute un ensemble commun d’en-têtes afin de faciliter l’ajout du vôtre. Il existe également un autre paramètre appelé mon_hdr . un> qui pourrait être utilisé. Mutt supporte la notation `backtick` `pour exécuter des commandes externes.

Il serait préférable de pouvoir spécifier son propre modèle, mais ce n’est pas encore possible.

scroll top