Corps du message est une chaîne de caractères parfois, et une liste parfois. Pourquoi?

Mon application est écrite en python. Ce que je fais c'est que je suis en cours d'exécution d'un script sur chaque e-mail reçu par postfix et faire quelque chose avec le contenu de l'email. Procmail est responsable de l'exécution du script en prenant l'e-mail à l'entrée. Le problème a commencé quand j'ai été la conversion de la saisie de message(peut être du texte) à email_message objet(car ce dernier est très pratique). Je suis à l'utilisation de l'email.message_from_string (où sont les e-mails de courrier électronique par défaut module est livré avec python).


import email
message = email.message_from_string(original_mail_content)
message_body = message.get_payload()

Ce message_body est parfois retour d'une liste[email.message.Instance de Message,e-mail.message.Message instance] et parfois de retourner une chaîne de caractères(corps réel contenu de l'e-mail entrant). Pourquoi est-il. Et même j'en ai trouvé un plus grand nombre d'observations. Quand j'ai été la navigation par le biais de l'e-mail.message.Message.get_payload() docstring, j'ai trouvé ce..
"""
La charge utile sera un objet de liste ou d'une chaîne.Si vous muter
l'objet de la liste, à vous de modifier le message de la charge utile en place....."""

Alors, comment dois-je le générique de la méthode pour obtenir le corps de l'email par le biais de python? Merci de m'aider.

OriginalL'auteur None-da | 2009-02-27