Django EmailMessage没有发送/超时

时间:2012-04-26 19:16:55

标签: django email

我试图使用django.core.mail使用默认后端发送电子邮件,但似乎无法正常工作。我在设置文件中设置了电子邮件凭据,服务器和端口号,但每当我尝试运行电子邮件的send()方法时,该命令将无限期挂起。

2 个答案:

答案 0 :(得分:3)

<强> views.py

from django.core.mail import send_mail

def sending_email(request):
    message = ""
    subject = ""
    send_mail(subject, message, from_email, ['to_email',])

在settings.py中添加

# Sending mail
EMAIL_USE_TLS = True
EMAIL_HOST='smtp.gmail.com'
EMAIL_PORT=587
EMAIL_HOST_USER='your gmail account'
EMAIL_HOST_PASSWORD='your gmail password'

答案 1 :(得分:2)

尝试使用use_tls = True通过smtp.gmail.com发送时遇到了同样的问题。事实证明我的端口设置错误。这就是我现在正在做的事情并且有效:

from django.core.mail import get_connection
from django.core.mail.message import EmailMessage

connection = get_connection(use_tls=True, host='smtp.gmail.com', port=587,username='YourEmail@gmail.com', password='YourPassword')
EmailMessage('test', 'test', 'addr@from.com', ['addr@to.com'], connection=connection).send()