- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个围绕 EmailMultiAlternatives
的包装器,使界面更简洁(几乎逐字地取自 here):
class Email(object):
'''
Wrapper around the Django core's EmailMultiAlternatives that makes it simpler
to render txt and html templates.
'''
def __init__(self, to, subject):
self.to = to
self.subject = subject
self.html = None
self.text = None
def _render(self, template, context):
return render_to_string(template, context)
def render_html(self, template, context):
self.html = self._render(template, context)
def render_text(self, template, context):
self.text = self._render(template, context)
def send(self, from_addr=None, fail_silently=False):
if isinstance(self.to, basestring):
self.to = [self.to]
if not from_addr:
from_addr = settings.EMAIL_HOST_USER
msg = EmailMultiAlternatives(
self.subject,
self.text,
from_addr,
self.to
)
if self.html:
msg.attach_alternative(self.html, 'text/html')
msg.send(fail_silently)
我这样调用它:
if not self.email:
warnings.warn('uid:%s has no email address' % self.id)
else:
context = Context({
'first_name': self.first_name,
'uid': int_to_base36(self.id),
'token': default_token_generator.make_token(self),
'domain': Site.objects.get_current().domain
})
from_email = settings.EMAIL_HOST_USER
subject = "Password Reset"
email = Email(to=self.email, subject=subject)
email.render_text('email/reset_password_email.txt', context)
email.render_html('email/reset_password_email.html', context)
email.send()
我正在使用 django-celery-email,它只是提供了一个围绕 Django 内置发送电子邮件功能的包装器,将其转换为 celery worker 任务。但是,当我尝试运行代码时,出现以下错误:
TypeError: <django.core.mail.message.EmailMultiAlternatives object at 0x10c20f3d0> is not JSON serializable
这发生在创建 celery 任务的上下文中。我不确定这里发生了什么。当我不使用 EmailMultiAlternatives 而只是使用 Django 的内置 send_mail(它也被 django-celery-email 包装为 celery 任务)时,我没有收到错误。想法?
最佳答案
您是否尝试从 EmailMultiAlternatives
继承您的 Email
类?通过这样做,您仍然可以实现用于 celery 的方法。
关于python - EmailMultiAlternatives 的 Celery 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21490664/
我正在通过以下方法发送电子邮件: EmailMultiAlternatives() 当调用send()方法时;我在某个基类中出错。 lib/email/encoders.py 'Template' o
我尝试构建一个时事通讯应用程序,并希望通过一个连接发送 50 封电子邮件。 send_mass_mail() 看起来很完美,但我不知道如何将其与 EmailMultiAlternatives 结合使用
我正在尝试在使用 django 的 EmailMultiAlternatives 格式时添加“回复”电子邮件。 该文档演示了使用 EmailMessage 类执行此操作的人员,但未显示使用 Email
我有这种发送群发电子邮件的方法: def send_mass_html_mail(datatuple, fail_silently=False, user=None, password=None, c
我正在尝试发出一个ajax请求来为用户生成密码并向他们发送一封包含密码的电子邮件。这一切都工作正常,除了我在 msg.send() 处遇到的错误 Ajax : var frm = $
我想在一个 View 中发送多封电子邮件。我需要的是,该 View 发送回响应并在后台发送电子邮件。 当我运行时 return EmailMultiAlternatives(subject,
在Django EmailMultiAlternatives documentation没有关于如何在 EmailMultiAlternatives 中添加标题(如“格式”或“回复”)的内容。我花了一
Django EmailMultiAlternatives 中有没有一种方法可以发送到多个“收件人”地址,而无需再次发送? 曾尝试用逗号将元组中的电子邮件分隔开,但只有第一个收件人会收到电子邮件。 最
我有一个围绕 EmailMultiAlternatives 的包装器,使界面更简洁(几乎逐字地取自 here): class Email(object): ''' Wrapper ar
SendGrid 提供通过 unique_args 的能力带有电子邮件,以便识别 Event webhook. 中的电子邮件但问题是我无法弄清楚如何在 Django 中使用电子邮件发送这些 uni
我在我的 View 中有带有文本和 html 内容的 EmailMultiAlternatives 对象: email = EmailMultiAlternatives(subject=subject
环境:Ubuntu 18.10、Python 2.7.15、Django 1.11.16 我正在尝试发送一封包含内嵌图像的电子邮件。我有以下代码: msg = EmailMultiAlternativ
我正在尝试使用带有 EmailMultiAlternatives 的 Django 发送邮件。它运作良好,但在“来自”中说“信息” 可以说出我的名字吗?我该怎么做? 这是我的代码: subject,
我使用 EmailMultiAlternatives 类通过 django 发送文本和 html 邮件。在使用一些虚拟代码进行测试时,我想添加一个带有一些文本的图像。 msg = EmailMulti
我正在尝试发送带有 HTML 和嵌入图像的电子邮件。电子邮件发送工作正常,它还在电子邮件中附加了图像,但它没有以 HTML(内联)显示图像。我在 View 中使用了 Content:ID,在模板中使用
我尝试使用 EmailMultiAlternatives 以 html 格式发送电子邮件,并且一段文字。我还想在此电子邮件中包含一个文件。 但后者似乎删除了我的 html 内容。 这是我的代码: ms
从我的 Django 应用程序发送电子邮件时,我正在使用 django.core.mail.EmailMultiAlternatives,以确保在电子邮件客户端不支持 HTML 时邮件降级为文本。 这
我是一名优秀的程序员,十分优秀!