Отправка почтовых вложений с помощью Google App Engine - PullRequest
2 голосов
/ 20 января 2012

Может кто-нибудь сказать мне, что переменная "myname" в запросе делает там. Если, например, я хочу отправить текстовый файл "hello.txt", что я должен поместить в переменную myname. И мне нужно изменить код, если я хочу отправить файл изображения.

P.S. - Я новичок в этом, поэтому, пожалуйста, потерпите меня, прежде чем голосовать.

from google.appengine.api import mail
from google.appengine.ext import db

class DocFile(db.Model):
    doc_name = db.StringProperty()
    doc_file = db.BlobProperty()

q = db.GqlQuery("SELECT * FROM DocFile WHERE doc_name = :1", myname)
results = q.fetch(1)
if results:
    doc = results[0]
    mail.send_mail(sender="support@example.com",
                  to="Albert Johnson <Albert.Johnson@example.com>",
                  subject="The doc you requested",
                  body="""
Attached is the document file you requested.

The example.com Team
""",
                  attachments=[(doc.doc_name, doc.doc_file)])

1 Ответ

2 голосов
/ 21 января 2012

myname используется в качестве замены :1 в запросе к хранилищу данных, чтобы найти объект DocFile, свойство doc_name которого равно значению myname.

Это не имеет ничего общего с тем, как работает функция send_mail, и приведено только для иллюстрации примера.

Вы можете прикрепить любой файл к электронному письму, параметр attachments принимает список кортежей строки (для имени файла) и байтовую строку (для данных).

Надеюсь, это поможет.

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