Python Django Gmail SMTP设置

pla*_*260 20 python django ubuntu gmail amazon-ec2

我试图通过设置gmail smtp从Django发送电子邮件.但每次它返回0状态.我在stackoverflow中搜索了不同的相关答案,我以相同的方式设置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'
Run Code Online (Sandbox Code Playgroud)

以下是我的代码

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"
Run Code Online (Sandbox Code Playgroud)

但每次打印状态为0表示不发送电子邮件.关于环境我在Amazon EC2实例上运行此代码,其中ubuntu作为操作系统,Apache作为服务器.

我是否需要通过gmail smtp进行其他设置来发送电子邮件?非常感谢您的帮助,提前致谢

Aar*_*ier 24

您的gmail.smtp设置是正确的.看起来你没有send_email正确调用函数,这就是它不发送的原因.在python shell中,尝试以下方法:

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,
    ['to@example.com'], fail_silently=False)
Run Code Online (Sandbox Code Playgroud)