Scénarios ou outils permettant d'analyser un message électronique pour supprimer une pièce jointe avec un nom spécifique

J'ai configuré l'intégration des e-mails Redmine, Et, bien qu'il soit cool, la gêne principale est que les personnes ont des signatures avec un logo de la société, qui est ensuite placé dans chaque paquet qu'ils mettent à jour par courrier électronique. Je sais que ce n'est pas la solution parfaite, mais je voudrais transférer le script sur le convoyeur, qui supprime les pièces jointes avec le nom. «image001.png» Du message pour que je puisse ensuite le transférer au gestionnaire. Y a-t-il des outils qui aideront à cela, ou dois-je commencer à partir de zéro?

Devant:

alias > mailhandler.rb

Après:

alias > parser.script > mailhandler.rb
Invité:

Hannah

Confirmation de:

vous pouvez utiliser
http://www.mimedefang.org/
milter Comme un ajout à K. postfix (ou sendmail).

http://www.roaringpenguin.com/products/mimedefang
MIMEDefang Peut vérifier et modifier les messages électroniques lorsqu'ils passent dans votre répéteur de messagerie. MIMEDefang écrit sur Perl, Et ses actions de filtrage sont exprimées sur Perl, Par conséquent, c'est très flexible. Voici quelques éléments que vous pouvez facilement faire avec MIMEDefang:

* Supprimer ou modifier les pièces jointes en fonction du nom du fichier, du contenu, des résultats de numérisation pour les virus, la taille de l'intégration, etc.

* Remplacez de grandes pièces jointes avec des références à une copie stockée de manière centralisée pour faciliter la charge de l'utilisateur. POP3 Avec des liens modem lents.

[...]

http://www.mimedefang.org/
MIMEDefang - Logiciel libre: il est publié sur une licence publique standard GNU. Ça marche sous Linux, FreeBSD, Solaris et la plupart des autres UNIX ou des systèmes de type UNIX.

Agathe

Confirmation de:

Je choisirais personnellement l'option MIMEDefang, Offert par Angehehe A. Philippe, mais je me demandais comment je l'écrirais dans le script Python, Et est venu à la prochaine décision. Si un MIMEDefang Ne convient pas à votre environnement, vous pouvez l'essayer. Aucune garantie, uniquement testée sur plusieurs exemples de messages

#!/usr/bin/python
import email
import sys

def remove_attachment(rootmsg,attachment_name):
"""return message source without the first occurence of the attachment named <attachment_name> or None if the attachment was not found"""
for msgrep in rootmsg.walk():
if msgrep.is_multipart():
payload=msgrep.get_payload()
indexcounter=0
for attachment in payload:
att_name = attachment.get_filename(None)
if att_name==attachment_name:
del payload[indexcounter]
return rootmsg.as_string()
indexcounter+=1

if __name__=='__main__':
incontent=sys.stdin.read()
try:
rootmsg=email.message_from_string(incontent)
except:
sys.stderr.write("Message could not be parsed")
sys.exit(1)
src=remove_attachment(rootmsg,'image001.png')

if src!=None:
sys.stdout.write(src)
else:
sys.stdout.write(incontent)

</attachment_name>

Pour répondre aux questions, connectez-vous ou registre