4

Python を使用してIMAPClient、IMAP サーバーから電子メール メッセージを取得しています。私が取得する属性の 1 つは ですBODYSTRUCTURE。ただし、戻り値を解釈する方法に関するドキュメントは見つかりません。IMAP サーバーが返す body 構造は次のとおりです。

16:12.679978 <  FLAGS (NotJunk $NotJunk \Seen) BODYSTRUCTURE ((("TEXT" "PLAIN" ("CHARSET" "us-ascii") NIL NIL "QUOTED-PRINTABLE" 4888 170 NIL NIL NIL)("TEXT" "HTML" ("CHARSET" "us-ascii") NIL NIL "QUOTED-PRINTABLE" 32407 479 NIL NIL NIL) "ALTERNATIVE" ("BOUNDARY" "Apple-Mail=_3AAA7CD7-3B07-406A-83CB-2C7762C3306E") NIL NIL)("APPLICATION" "PKCS7-SIGNATURE" ("NAME" "smime.p7s") NIL NIL "BASE64" 2414 NIL ("ATTACHMENT" ("FILENAME" "smime.p7s")) NIL) "SIGNED" ("BOUNDARY" "Apple-Mail=_DF4FE6BB-F796-46D7-A593-9723F4315DD2" "MICALG" "sha1" "PROTOCOL" "application/pkcs7-signature") NIL NIL))

Python 型に解析された同じ本体構造を次に示します。

"BODYSTRUCTURE": [
    [
        [
            [
                "TEXT",
                "PLAIN",
                [
                    "CHARSET",
                    "us-ascii"
                ],
                null,
                null,
                "QUOTED-PRINTABLE",
                4888,
                170,
                null,
                null,
                null
            ],
            [
                "TEXT",
                "HTML",
                [
                    "CHARSET",
                    "us-ascii"
                ],
                null,
                null,
                "QUOTED-PRINTABLE",
                32407,
                479,
                null,
                null,
                null
            ],
            "ALTERNATIVE",
            [
                "BOUNDARY",
                "Apple-Mail=_3AAA7CD7-3B07-406A-83CB-2C7762C3306E"
            ],
            null,
            null
        ],
        [
            "APPLICATION",
            "PKCS7-SIGNATURE",
            [
                "NAME",
                "smime.p7s"
            ],
            null,
            null,
            "BASE64",
            2414,
            null,
            [
                "ATTACHMENT",
                [
                    "FILENAME",
                    "smime.p7s"
                ]
            ],
            null
        ]
    ],
    "SIGNED",
    [
        "BOUNDARY",
        "Apple-Mail=_DF4FE6BB-F796-46D7-A593-9723F4315DD2",
        "MICALG",
        "sha1",
        "PROTOCOL",
        "application/pkcs7-signature"
    ],
    null,
    null
],

配列は一定の長さではないようです。配列の各要素は何を表していますか?

4

1 に答える 1

6

RFC3501を読む必要があります。本文セグメントのタイプ(テキストとそれ以外)に応じて、フィールドの長さが変わる可能性があります。

具体的には73ページと74ページをお読みください。

于 2012-10-05T03:36:36.853 に答える