Сценарии или инструменты для парсинга электронного письма для удаления вложения конкретного имени

Рассмотрите изучение Цветка Leopard по sourceforge.net/projects/leopardflower/

Это делает то, что Вы просили кроме него, приложение CLI

1
задан 15 April 2013 в 09:34
2 ответа

Я лично выбрал бы вариант MIMEDefang, предложенный Анджеем А. Филипом, но мне было интересно, как бы я написал это в скрипте Python, и я пришел к следующему решению. Если MIMEDefang не подходит для вашей среды, вы можете попробовать его. Никаких гарантий, только протестировано с несколькими примерами сообщений

#!/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)
1
ответ дан 3 December 2019 в 17:50

Вы можете использовать MIMEDefang milter в качестве дополнения к postfix (или sendmail).

http://www.roaringpenguin.com/products/mimedefang

MIMEDefang может проверять и изменять сообщения электронной почты, когда они проходят через ваш почтовый ретранслятор. MIMEDefang написан на Perl, а его действия по фильтрам выражены на Perl, поэтому он очень гибкий. Вот некоторые вещи, которые вы можете легко сделать с помощью MIMEDefang:
* Удалять или изменять вложения в зависимости от имени файла, содержимого, результатов сканирования на вирусы, размера вложения и т. Д.
* Замените большие вложения ссылками на централизованно хранимую копию, чтобы облегчить нагрузку на пользователей POP3 с медленными модемными ссылками.
[...]

http://www.mimedefang.org/

MIMEDefang - бесплатное программное обеспечение: оно выпущено в соответствии с условиями Стандартной общественной лицензии GNU. Он работает под Linux, FreeBSD, Solaris и большинством других UNIX или UNIX-подобных систем.

3
ответ дан 3 December 2019 в 17:50

Теги

Похожие вопросы