Как прикрепить PDF-файл в Google App Engine Python функцию send_mail? - PullRequest
0 голосов
/ 25 июня 2018

Я не могу найти пример того, как прикрепить файлы (pdf), которые находятся в моей корневой папке сайта, в python (google app engine) с помощью функции send_mail.

 url_test = "https://mywebsite.com/pdf/test.pdf"
      test_file = urlfetch.fetch(url_test)

      if test_file.status_code == 200:
            test_document = test_file.content
      mail.send_mail(sender=EMAIL_SENDER,
                  to=['test@test.com'],
                  subject=subject,
                  body=theBody,
                  attachments=[("testing",test_document)])

Решили попробовать с EmailMessage:

 message = mail.EmailMessage( sender=EMAIL_SENDER, 
 subject=subject,body=theBody,to=['myemail@gmail.com'],attachments= 
 [(attachname, blob.archivoBlob)])
 message.send()

Приведенное выше вложение BLOB-объекта успешно отправляется, однако при присоединении файла с относительным путем всегда указывается «недопустимое вложение»

 new_file = open(os.path.dirname(__file__) + 
 '/../pages/pdf/test.PDF').read()

 message = mail.EmailMessage( sender=EMAIL_SENDER, 
 subject=subject,body=theBody,to=['myemail@gmail.com'],attachments= 
 [('testing',new_file )])
 message.send()

При отладке я также пытался проверить, читается ли файл, выполнив следующее:

 logging.info(new_file)

Кажется, что он читает файл, поскольку выводит некоторые символы Юникода

Пожалуйста, помогите, почему я не могу прикрепить PDF, пока я не могу прикрепить BLOB-объект

1 Ответ

0 голосов
/ 02 июля 2018

При вызове вложений в заголовке файла должен быть указан тип файла, например attachments = [('testing.pdf', new_file)]). Посмотреть ссылку

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...