通过Google Apps向Django发送电子邮件时,为电子邮件帐户指定名称
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过Google Apps向Django发送电子邮件时,为电子邮件帐户指定名称相关的知识,希望对你有一定的参考价值。
我正在通过Google Apps向使用Django的用户发送电子邮件。
当用户收到从Django应用程序发送的电子邮件时,他们来自:
do_not_reply@domain.com
查看收件箱中的所有电子邮件时,人们会将电子邮件的发件人视为:
do_not_reply
或do_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发送电子邮件时,为电子邮件帐户指定名称的主要内容,如果未能解决你的问题,请参考以下文章
通过 Python Google Cloud Function 发送电子邮件的最佳方式是啥?
typescript 创建Google Apps文件并通过电子邮件发送给某人