谷歌应用引擎文档没有更新吗?在
当我这样做的时候,它工作得很好(通过附件发送电子邮件):
message = mail.EmailMessage( sender=EMAIL_SENDER,
subject=subject,body=theBody,to=['test@gmail.com'],attachments=[(attachname,
new_blob.archivoBlob)])
message.send()
但当我使用邮件.附加,它表示EmailMessage
对象没有属性attach
两者都说:EmailMessage
对象没有属性attach/attachment
在文档中有“Attachment”的例子。在
请帮忙!在
我修复了send_mail函数的问题,其中一个错误是没有指定“.pdf”作为文件名,而是将其命名为“certificate”
如果你在应用程序yaml对于直接url访问,请确保“应用程序可读”设置为true,以便在应用程序中可以访问该文件:
EmailMessage类的属性是动态分配的,如下所示:
因此,如果
attachments
没有作为关键字参数传递给构造函数,则实例没有attachments
属性,如果尝试引用它,则会得到一个AttributeError
。在正如Jofre在他们的回答中所观察到的,您仍然可以直接指定给
^{pr2}$attachments
:创建“附件”属性后,还可以附加到该属性:
*这是一个简化版本;在real类中,赋值是在一个单独的方法中完成的,但本质上是相同的。在
就我在文档中所看到的,有类^{} ,但类^{} 没有任何方法
attach()
。在类^{} 确实有一个} 的新实例(使用元组作为explained in the docs),将它们添加到数组中,并在初始化电子邮件时将此数组用作
attachment
属性,这就是用attachments=[(foo,bar),(foo,bar)]
初始化电子邮件时它起作用的原因。实际上,您正在创建^{attachments
属性。在注意,在文档中,当他们写
attachment = mail.Attachment('foo.jpg', 'data')
时,mail
是对导入的google.appengine.api.mail
的引用,而不是实例化的邮件对象。在回到您的例子(请注意,我不是python开发人员,也没有尝试过,我只是浏览文档并做出假设),而不是
你也许应该在
^{pr2}$我已经多年没有使用python了,但是请随意探索这些想法,并编辑我的答案,以防我有任何错误(或者发布您自己的答案)。在
相关问题 更多 >
编程相关推荐