1

私は本当にIMAPClientのコツをつかみ始めています。コード:'BODY[HEADER.FIELDS (FROM)]'returns

From: First Last <first.last@domain.com>

私は本当に次のようなメールアドレスを返すことを望んでいます:

first.last@lbox.com

最初に変数に渡してトリミングする必要がありfetchますか、それとも使用できる別の修飾子がありますか?

response = server.fetch(messages, ['FLAGS', 'RFC822.SIZE', 'BODY[HEADER.FIELDS (FROM)]'])
for msgid, data in response.iteritems():
    print '   ID %d: %d bytes, From: %s flags=%s' % (msgid,
                                            data['RFC822.SIZE'],
                                            data['BODY[HEADER.FIELDS (FROM)]'],
                                            data['FLAGS'])
4

2 に答える 2

3

いいえ-IMAPリクエストではそれを行うことはできません。他の投稿を見ると、を使用していることに気付くでしょうparseaddrが、ここでも例を示します。

>>> from email.utils import parseaddr
>>> a = 'From: First Last <first.last@domain.com>'
>>> parseaddr(a)
('First Last', 'first.last@domain.com')
于 2012-11-03T21:19:37.623 に答える
0

IMAPLIBは、プロトコルの多くを解析しません。サーバーからの回線をそのまま返します。

emailライブラリ内のパーサーを使用して、支援することができます。

于 2012-11-03T21:20:29.870 に答える