在Google App Engine电子邮件中阅读.txt文件附件

时间:2013-09-10 18:53:09

标签: python google-app-engine parsing email attachment

我正在开发一个网络应用,用户可以通过手机发送短信并使用Google App Engine接收回复。然而,自从iOS 6以来,iPhone自然没有正确地发送电子邮件地址。相反,他们发送附有.txt文件的空白电子邮件。如何从电子邮件中提取和读取此.txt文件?

目前我的代码如下:

def receive(self, message):
    plaintext_body = ''
    for plain in message.bodies('text/plain'):
        plaintext_body = plain[1].decode()

我正在考虑做一些事情,如果plaintext_body仍为空,它会检查扩展名为.txt的文件,并将其读入plaintext_body,但我不熟悉Python或用实际的电子邮件处理。

1 个答案:

答案 0 :(得分:1)

如果消息是https://developers.google.com/appengine/docs/python/mail/#Python_Receiving_mail_in_Python的InboundEmailMessage实例 看起来应该是这样的:

def receive(self, message):
    plaintext_body = ''
    for plain in message.bodies('text/plain'):
        plaintext_body = plain[1].decode()

    if not plaintext_body and hasattr(message, 'attachments'):
        for attachment in message.attachments:
            if attachment[0].endswith('.txt'):
                plaintext_body = attachment[1].decode()
                if plaintext_body:
                    break

在检查plaintext_body.strip()

时,您还可以添加.strip()来删除空格/断行等