问题描述
我正在尝试通过设置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'
下面是我的代码
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时,表示都不会发送电子邮件。关于环境,我正在Amazon EC2实例上运行此代码,该实例具有Ubuntu操作系统和Apache服务器。
我是否需要进行其他设置以通过gmail smtp发送电子邮件?非常感谢您的帮助
最佳答案
您的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)