【问题标题】:Django: Gmail SMTP error: please run connect() firstDjango:Gmail SMTP 错误:请先运行 connect()
【发布时间】:2018-02-13 15:19:01
【问题描述】:

我正在尝试在执行某个查询时发送邮件。但我在连接中遇到错误。我在我的 settings.py 文件中尝试了以下设置

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

我已执行以下命令来发送电子邮件:

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()

但每当我运行上述代码时,我都会收到“请先运行 connect()”错误。 究竟是什么错误,我该如何解决?

【问题讨论】:

  • 你从哪里运行它? django 外壳?请您发布完整的异常消息吗?
  • 我目前正在从 python shell 运行它。完整的消息只是please run connect() first
  • 尝试从python manage.py shell运行它
  • 我遇到了同样的错误
  • 我的连接设置有问题吗??

标签: python django email smtplib


【解决方案1】:

确保您已配置所有电子邮件设置:

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

【讨论】:

    猜你喜欢
    • 2021-05-16
    • 2014-08-15
    • 2013-09-01
    • 2016-08-12
    • 2015-12-06
    • 2014-02-16
    • 2021-08-30
    • 2016-11-13
    • 1970-01-01
    相关资源
    最近更新 更多