通过Google Apps向Django发送电子邮件时给电子邮件帐户一个名称

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

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

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

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

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

在Django中,有没有办法给用来发送电子邮件的电子邮件帐户添加一个“名称”?

我已经审查了Django的mail.py,但没有find解决scheme的运气
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中来testing它是否也适用于gapps:

 >>> from django.core.mail import send_mail >>> send_mail('subject', 'message', 'Dont Reply <do_not_replay@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_replay@domain.com”。

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

 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()