首页 文章

如何在Django邮件中指定名称?

提问于
浏览
7

我正在使用django的core.mail包与django-registration一起使用新的用户注册工作流程 . 我有一个电子邮件帐户,“不回复@(mycompany).com”通过我公司的谷歌邮件服务,我想用来发送这些电子邮件 . 在谷歌邮件帐户设置中,我将电子邮件帐户的名称设置为“(MyCompany)支持”,这样,如果我直接从谷歌邮件发送邮件,则电子邮件来自帐户,来自“(MyCompany)支持” . 但是,当我使用django的电子邮件设置发送邮件时,电子邮件显示在客户端的电子邮箱中,因为它来自“无回复”,这很丑陋,可能对新客户端有点不利 . 有没有办法在使用django的内置邮件程序发送时为电子邮件地址指定“名称”,以便在收到电子邮件时看到“名称”?

以下是我在settings.py中的当前设置:

EMAIL_HOST='smtp.gmail.com'
EMAIL_PORT=587
EMAIL_HOST_USER='no-reply@mycompany.com'
EMAIL_HOST_PASSWORD='**********'
EMAIL_USE_TLS = True

4 回答

  • 12

    DEFAULT_FROM_EMAIL ='(我的公司)支持'

    帮我解决了这个问题 .

  • 1

    如果您直接使用django的电子邮件包,这些解决方案非常有用 . 但是,我不想寻找一个钩子来覆盖django-registration使用send_mail的方式,所以我在浏览django文件时找到了以下设置,这样你就可以设置一个默认的电子邮件 .

    DEFAULT_FROM_EMAIL='(My Company) Support <no-reply@mycompany.com>'
    

    它工作了!

    认为其他人可能会觉得它很有用,虽然我不是那么自命不凡,以至于我自己的答案都是正确的 .

  • 23

    您可以在 setting.py 中使用 ADMINSMANAGERS 元组 . 例如 . :

    ADMINS = (('Your Name', 'email@company.com),)
    

    然后:

    django.core.email.mail_managers('subject', 'body')
    
  • 2

    您可以使用

    "(MyCompany) Support <no-reply@mycompany.com>"
    

    作为send_mail调用中的from地址 .

相关问题