2013-09-10 1 views
0

Я работаю над веб-приложением, которое пользователи могут использовать на своих телефонах и получать ответ с помощью Google App Engine. Естественно, однако, с iOS 6, iPhones неправильно отображают адреса электронной почты. Вместо этого они отправляют пустое электронное письмо с прикрепленным файлом .txt. Как я могу извлечь и прочитать этот .txt-файл из письма?Чтение файла в формате .txt в приложении Google App Engine по электронной почте

В настоящее время мой код выглядит следующим образом:

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

Если сообщение является экземпляром InboundEmailMessage от https://developers.google.com/appengine/docs/python/mail/#Python_Receiving_mail_in_Python это должно выглядеть примерно так:

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 

Вы также можете добавить .strip(), чтобы удалить пробелы/разрыва строки и т.д. при проверке plaintext_body.strip()

+0

Вы спасатель жизни, большое вам спасибо. –

Смежные вопросы