通过Google Apps向Django发送电子邮件时,为电子邮件帐户指定名称

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过Google Apps向Django发送电子邮件时,为电子邮件帐户指定名称相关的知识,希望对你有一定的参考价值。

我正在通过Google Apps向使用Django的用户发送电子邮件。

当用户收到从Django应用程序发送的电子邮件时,他们来自: do_not_reply@domain.com

查看收件箱中的所有电子邮件时,人们会将电子邮件的发件人视为: do_not_replydo_not_reply@domain.com取决于使用的电子邮件客户端

如果我使用浏览器和Google Apps本身登录“do_not_reply”帐户,然后向自己发送电子邮件,则电子邮件来自: Dont Reply<do_not_reply@domain.com>

因此,收件箱中电子邮件发件人显示的名称为: Dont Reply

在Django中,有没有办法将“名称”附加到用于发送电子邮件的电子邮件帐户?

我查看了Django的mail.py,但没有找到解决方案的运气 http://code.djangoproject.com/browser/django/trunk/django/core/mail.py?rev=5548

使用: Django 1.1 Python 2.6 Ubuntu 9.1 settings.EMAIL_HOST ='smtp.gmail.com'

谢谢

答案

您实际上可以使用"Dont Reply <do_not_reply@domain.com>"作为您发送的电子邮件地址。

在你的django项目的shell中尝试这个来测试它是否也适用于gapps:

>>> from django.core.mail import send_mail
>>> send_mail('subject', 'message', 'Dont Reply <do_not_reply@domain.com>', ['youremail@example.com'])
另一答案

除了send_mail方法发送电子邮件之外,EmailMultiAlternatives还可用于发送带有文本内容的html内容的电子邮件作为替代方案。

在你的项目中试试这个

from django.core.mail import EmailMultiAlternatives
text_content = "Hello World"
# set html_content  
email = EmailMultiAlternatives('subject', text_content, 'Dont Reply <do_not_replay@domain.com>', ['youremail@example.com'])

email.attach_alternative(html_content, 'text/html')
email.send()

这将发送邮件到youremail@example.com与Dont回复将显示为名称而不是电子邮件'do_not_reply@domain.com'。

另一答案

我使用此代码通过gmail smtp发送(使用谷歌应用程序)。和发件人姓名都可以

def send_mail_gapps(message, user, pwd, to):
    import smtplib
    mailServer = smtplib.SMTP("smtp.gmail.com", 587)
    mailServer.ehlo()
    mailServer.starttls()
    mailServer.ehlo()
    mailServer.login(user, pwd)
    mailServer.sendmail(user, to, message.as_string())
    mailServer.close()

以上是关于通过Google Apps向Django发送电子邮件时,为电子邮件帐户指定名称的主要内容,如果未能解决你的问题,请参考以下文章

通过 Google Apps 帐户通过 C# 发送电子邮件

通过C#通过Google Apps帐户发送电子邮件

通过 Python Google Cloud Function 发送电子邮件的最佳方式是啥?

typescript 创建Google Apps文件并通过电子邮件发送给某人

在 Google Apps 脚本中从另一个电子表格编辑一个电子表格

Google Apps脚本中的Google Drive通知