通过Google Apps向Django发送电子邮件时给电子邮件帐户一个名称
我正在通过Google Apps向使用Django的用户发送电子邮件。
当用户收到从Django应用程序发送的电子邮件时,它们来自:
do_not_reply@domain.com
当查看收件箱中的所有电子邮件时,用户会看到电子邮件的发件人为:
do_not_reply
或do_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()