2013-10-09 89 views
19

我想通过设置Gmail邮件从Django发送电子邮件。 但每次它返回我0状态。我已经搜查计算器不同的相关解答,我设置SMTP服务器以同样的方式,但它仍然是不发送任何电子邮件.. 下面是我的设置文件Python Django Gmail SMTP设置

EMAIL_USE_TLS = True 
EMAIL_HOST = 'smtp.gmail.com' 
EMAIL_PORT = 587 
EMAIL_HOST_USER = 'my gmail account' 
EMAIL_HOST_PASSWORD = 'my gmail account password' 
DEFAULT_FROM_EMAIL = 'my gmail account' 
DEFAULT_TO_EMAIL = 'to email' 

下面是我的代码

from django.conf import settings 
from django.core.mail import send_mail 
print "Sending Email" 
mail_title = 'Test Email' 
message = 'This is a test email.' 
email = settings.DEFAULT_FROM_EMAIL 
recipients = [settings.DEFAULT_TO_EMAIL] 
print send_mail(mail_title, message, email, recipients, settings.EMAIL_HOST_USER, settings.EMAIL_HOST_PASSWORD) 
print "Email Sent" 

但每次打印状态0这意味着不发送电子邮件。关于我在亚马逊EC2实例上运行这个代码的环境,其中Ubuntu的操作系统和Apache作为服务器..

我需要做额外的设置,通过Gmail邮件发送电子邮件? 非常感谢您的帮助 在此先感谢

+0

做自己的工作站上此代码的工作或其他地方比你的EC2?这将允许孤立问题的根源 – 2013-10-09 07:13:14

回答

24

您的gmail.smtp设置是正确的。看起来你没有正确地调用send_email函数,这就是为什么它没有发送。在Python壳,请尝试以下操作:

import django 
from django.conf import settings 
from django.core.mail import send_mail 

send_mail('Subject here', 'Here is the message.', settings.EMAIL_HOST_USER, 
    ['[email protected]'], fail_silently=False)