2017-09-05 77 views
1

我試圖在某個查詢執行時發送郵件。但是我在連接中出錯。Django:Gmail SMTP錯誤:請首先運行connect()

emailFrom = [settings.EMAIL_HOST_USER] 
html_content = render_to_string('template.html', {'greeting_text': greeting_text}) 
text_content = strip_tags(html_content) 
email_subject = "Subject" 
msg = EmailMultiAlternatives(email_subject,text_content,emailFrom,[email],) 
msg.attach_alternative(html_content, "text/html") 
msg.send() 

但每當我運行上面的代碼中,我得到「請運行連接:我在我的settings.py文件

server = smtplib.SMTP('smtp.gmail.com') 
server.starttls() 
EMAIL_HOST_USER = "[email protected]" 
EMAIL_HOST_PASSWORD = "password" 
server.login(EMAIL_HOST_USER, EMAIL_HOST_PASSWORD) 

我已執行下面的命令來發送電子郵件嘗試以下設置()第一個'錯誤。 什麼是錯誤究竟是什麼以及如何解決這個問題?

+0

你在哪裏運行的? django shell?你能發佈完整的例外信息嗎? –

+0

我目前正在從python shell運行這個。完整的信息只是'請運行connect()第一個' –

+0

嘗試從'python manage.py shell'運行它' –

回答

2

請確保您有配置的所有電子郵件設置:

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' 
EMAIL_HOST = 'smtp.gmail.com' 
EMAIL_USE_TLS = True 
+0

感謝這個人幫助 –