Scripts ou ferramentas para analisar a mensagem de e-mail para remover o anexo do nome específico

1

Configurei a integração de e-mails do Redmine e, embora seja incrível, um grande aborrecimento é que as pessoas têm assinaturas que incluem um logotipo da empresa, que é postado em todos os tíquetes que eles atualizam por e-mail. Eu sei que isso não é uma solução perfeita, mas eu gostaria de canalizar para um script que exclui os anexos chamados "image001.png" da mensagem para que eu possa canalizar ao longo do manipulador. Existem ferramentas disponíveis para ajudar com isso ou tenho que começar do zero?

Antes: alias > mailhandler.rb

Depois: alias > parser.script > mailhandler.rb

    
por tacos_tacos_tacos 15.04.2013 / 08:34

2 respostas

1

Eu pessoalmente escolheria a opção MIMEDefang sugerida por Andrzej A. Filip, mas imaginei como escreveria isso em um script python e encontrei a seguinte solução. Caso o MIMEDefang não seja uma opção para o seu ambiente, você pode querer testá-lo. Sem garantias, testadas apenas com algumas mensagens de amostra

#!/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)
    
por 15.04.2013 / 11:23
3

Você pode usar o MIMEDefang como um addon para o postfix (ou sendmail).

link

MIMEDefang can inspect and modify e-mail messages as they pass through your mail relay. MIMEDefang is written in Perl, and its filter actions are expressed in Perl, so it's highly flexible. Here are some things that you can do very easily with MIMEDefang:
* Delete or alter attachments based on file name, contents, results of a virus scan, attachment size, etc.
* Replace large attachments with links to a centrally-stored copy to ease the burden on POP3 users with slow modem links.
[...]

link

MIMEDefang is free software: It's released under the terms of the GNU General Public License. It runs under Linux, FreeBSD, Solaris and most other UNIX or UNIX-like systems.

    
por 15.04.2013 / 11:02