如何使用 Django 将电子邮件作为别名发送
Posted
技术标签:
【中文标题】如何使用 Django 将电子邮件作为别名发送【英文标题】:How to send email as alias using Django 【发布时间】:2014-01-07 16:33:31 【问题描述】:背景:
我有一个使用 Django 构建的网站,但遇到了以下难题。我有一个后端电子邮件,我们将调用luckyducky@gmail.com。现在我还有一个域电子邮件直接转发到luckyduck@gmail.com,称为support@luckyducky.com。
目前我的 Django 电子邮件设置如下:
EMAIL_HOST_USER="luckyducky@gmail.com"
EMAIL_HOST_PASSWORD="password"
这很好用,但我希望从“support@luckyducky.com”发送电子邮件。
注意:
将 Python 社区作为一个整体包括在内,因为也许该问题可以在 Django 邮件包装函数之外解决。
问题:
如何设置此重定向?意思是,当我在 Django 后端配置的真实电子邮件是luckyducky@gmail.com 时,如何以别名“support@luckyducky.com”发送电子邮件?
【问题讨论】:
如果您要发送大量电子邮件,您可以使用 Madnrill App 等服务电子邮件,而不是使用 Django 后端。 发送电子邮件是一项棘手的工作。看看 Amazon SES,效果很好,而且对小批量免费。并且具有易于使用的python API。为您的域设置 DKIM 后,您就可以开始发送签名邮件了。 【参考方案1】:取自 django 文档 分两行:
from django.core.mail import send_mail
send_mail('Subject here', 'Here is the message.', 'support@luckyducky.com',
['to@example.com'], fail_silently=False)
使用 EMAIL_HOST 和 EMAIL_PORT 设置中指定的 SMTP 主机和端口发送邮件。 EMAIL_HOST_USER 和 EMAIL_HOST_PASSWORD 设置(如果设置)用于对 SMTP 服务器进行身份验证,EMAIL_USE_TLS 和 EMAIL_USE_SSL 设置控制是否使用安全连接。
【讨论】:
【参考方案2】:settings.EMAIL_HOST_USER
仅用于与 SMTP 服务器进行身份验证。 django.core.mail.send_mail()
的第三个参数是From:
地址。
【讨论】:
也就是说,它是否允许您使用这些凭据发送声称来自给定From:
地址的邮件取决于 SMTP 服务器。如果它不允许,那可能是有充分理由的。以上是关于如何使用 Django 将电子邮件作为别名发送的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Outlook 2013 中更改默认发送为电子邮件(不同别名)?
多个用户如何在 Node.js 中使用 Gmail 别名发送电子邮件,而无需 Google 开发人员控制台对每个用户进行用户身份验证?