Django的msg.send()不工作,因为它应该
问题描述:
当我通过Django的视图(下面的代码)发送邮件:Django的msg.send()不工作,因为它应该
subject = "Audit report for all staff "
email_msg = "Hello Everyone," + '\n \n' + subject + '\n \n' + 'Thanks \n-Admin'
report_name = response['Content-Disposition'].split('=')[1]
msg = EmailMessage(
subject = subject,
body = email_msg,
attachments=(('%s' % report_name,f.read(), 'text/csv'),),
to = ['[email protected]','[email protected]' ],
)
msg.send()
我的邮件只被发送到本地主机电子邮件ID,而不是Gmail的ID 。如何纠正这一点?
答
Django不会自动发送到远程服务器。它通过SMTP后端完成。你需要配置它。
http://docs.djangoproject.com/en/1.3/topics/email/#e-mail-backends
答
为了配置SMTP服务器,我只好给这样的事情在你的settings.py [SMTP提供安装]
EMAIL_HOST = "smtp.gmail.com"
EMAIL_PORT = '587'
EMAIL_HOST_USER = "[email protected]" #create a gmail id
EMAIL_HOST_PASSWORD = "xxxx"#pwd for that id
EMAIL_USE_TLS = True
+0
可以使用这些设置我可以邮寄到不同的邮件标识符,如雅虎,rediff,gmail e.t.c – prateek 2011-04-12 13:04:06
+0
是的,你可以发送邮件到这些设置的任何域。 – 2011-04-14 04:40:03
如何配置呢? – prateek 2011-04-12 11:09:39