Portál AbcLinuxu, 14. května 2025 01:39

Dotaz: Procmail - notifikace příchozího mailu

30.8.2006 15:04 mirass
Procmail - notifikace příchozího mailu
Přečteno: 245×
Odpovědět | Admin
Zdravím, potřebuji udělat notifikaci příchozího emailu na jiný email /v budoucnu mobilní email/. Potřebuji aby v mailu bylo uvedena pouze adresa odesílaele a subject zprávy. Mám to uděláno asi takto:

v procmailrc mám toto:
:0 c
* !^FROM_MAILER
* !^FROM_DAEMON
| formail -X "" | \
  sed -n "s/^.*From: \(.*\)$/\1; /p; s/^.*Subject: \(.*\)$/\1/p;" | \
  mail -s "NOVY EAMAIL" "muj@mail"
... problém je že mail mi sice přijde ale v této podobě:
=?ISO-8859-2?Q?Petr_= <\odesilatel@email>; 
=?ISO-8859-2?Q?P=E9=BBo_P=E9=BBo?=
... umměl byste mi někdo poradit jak to přeformátovat do čitelné podoby a případně jak změnit kodovaní aby to bylo čitelné?

Mockrát děkuji za každou radu
Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

2.9.2006 13:29 Ondřej Čečák | skóre: 33
Rozbalit Rozbalit vše Re: Procmail - notifikace příchozího mailu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ja to vlastne obchazim tak, ze si beru formailem pole Return-Path; bez problemu funguje.
-- "Ja vim, on vi, ty pico!"
2.9.2006 23:52 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: Procmail - notifikace příchozího mailu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Hlavička mailu může vypadat dost rozmanitě podle toho, jaké znakové sady se použijí (charset) a jak se celek zakóduje pro přenos (Content-Transfer-Encoding). Třeba pro inspiraci pomůže tento prográmek:
#!/usr/bin/env python

import email.Parser
import email.Header

hlavicka = '''MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
From: =?utf-8?b?SmFuIE1hcnRpbmVrIMOhw4HEjcSMxI/EjsSbxJrDqcOJw63DjcWIxYfDs8OT?=
        =?utf-8?b?xZnFmMWhxaDFpcWkw7rDmsWvxa7DvcOdxb7FvQ==?=
        <honza@dp.fce.vutbr.cz>
To: =?utf-8?b?SmFuIE1hcnRpbmVrIMOhw4HEjcSMxI/EjsSbxJrDqcOJw63DjcWIxYfDs8OT?=
        =?utf-8?b?xZnFmMWhxaDFpcWkw7rDmsWvxa7DvcOdxb7FvQ==?=
        <honza@dp.fce.vutbr.cz>
Subject: =?utf-8?b?VGVzdG92YWPDrSBtYWlsIMOhw4HEjcSMxI/EjsSbxJrDqcOJw63DjcWIxYc=?=
 =?utf-8?b?w7PDk8WZxZjFocWgxaXFpMO6w5rFr8Wuw73DncW+xb0=?='''

msg = email.Parser.Parser().parsestr(hlavicka, headersonly = True)
text, encoding = email.Header.decode_header(msg['Subject'])[0]

if encoding == None:
    print text
else:
    print text.decode(encoding)
Po spuštení vypíše rozkódovaný Subject mailu:
Testovací mail áÁčČďĎěĚéÉíÍňŇóÓřŘšŠťŤúÚůŮýÝžŽ
ten je v původní podobě pro člověka takřka nečitelný.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.