1

一連の電子メール メッセージを読み込むために、Python メールボックス モジュールを使用しています。メール内の最新のメッセージ以外をすべて切り取る簡単な方法はありますか? クライアントごとに返信テキストの扱いが異なるようです。そのため、すべての電子メールで機能する、それらを除外する単一の方法を見つけることができません。

これをメールボックス モジュールに組み込む方法はありますか? 電子メールを取得し、プレーンテキスト部分を出力ファイルに出力するために実行しているコードは次のとおりです。

import mailbox

def main():
    text = ""
    for message in mailbox.mbox('test.mbox'):
        text += str(getPayload(message))

    with open('output.txt','wb') as outputfile:
        outputfile.write(text)
        outputfile.close()

def getPayload(msg):
    body = ''
    if msg.is_multipart():
        for part in msg.walk():
            ctype = part.get_content_type()
            cdispo = str(part.get('Content-Disposition'))

            if ctype == 'text/plain' and 'attachment' not in cdispo:
                body = part.get_payload(decode=True)
                break

    else:
        body = msg.get_payload(decode=True)

    return body

if __name__ == "__main__": main()

チェーン内の最新のメッセージのみを取得する方法はありますか?

4

1 に答える 1