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