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

出门莫恨无人随,书中车马多如簇。这篇文章主要讲述通过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'。
另一答案【通过Google Apps向Django发送电子邮件时,为电子邮件帐户指定名称】我使用此代码通过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()


    推荐阅读