首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >引发SMTPServerDisconnected(“连接意外关闭”) smtplib.SMTPServerDisconnected:连接意外关闭

引发SMTPServerDisconnected(“连接意外关闭”) smtplib.SMTPServerDisconnected:连接意外关闭
EN

Stack Overflow用户
提问于 2022-06-16 21:37:05
回答 1查看 294关注 0票数 -1

我使用Django,每当我试图发送电子邮件时,我都会收到这样的回复

代码语言:javascript
运行
复制
Internal Server Error: /order/
Traceback (most recent call last):
  File "C:\Users\Daniil\AppData\Local\Programs\Python\Python39\lib\site-packages\django\core\handlers\exception.py", line 55, in inner
    response = get_response(request)
  File "C:\Users\Daniil\AppData\Local\Programs\Python\Python39\lib\site-packages\django\core\handlers\base.py", line 197, in _get_response     
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "C:\Users\Daniil\AppData\Local\Programs\Python\Python39\lib\site-packages\django\views\generic\base.py", line 84, in view
    return self.dispatch(request, *args, **kwargs)
  File "C:\Users\Daniil\AppData\Local\Programs\Python\Python39\lib\site-packages\django\views\generic\base.py", line 119, in dispatch
    return handler(request, *args, **kwargs)
  File "C:\Users\Daniil\Desktop\Admin\py\qazpoligrah1\main\views.py", line 53, in post
    email.send()
  File "C:\Users\Daniil\AppData\Local\Programs\Python\Python39\lib\site-packages\django\core\mail\message.py", line 298, in send
    return self.get_connection(fail_silently).send_messages([self])
  File "C:\Users\Daniil\AppData\Local\Programs\Python\Python39\lib\site-packages\django\core\mail\backends\smtp.py", line 124, in send_messages
    new_conn_created = self.open()
  File "C:\Users\Daniil\AppData\Local\Programs\Python\Python39\lib\site-packages\django\core\mail\backends\smtp.py", line 91, in open
    self.connection.login(self.username, self.password)
  File "C:\Users\Daniil\AppData\Local\Programs\Python\Python39\lib\smtplib.py", line 739, in login
    (code, resp) = self.auth(
  File "C:\Users\Daniil\AppData\Local\Programs\Python\Python39\lib\smtplib.py", line 642, in auth
    (code, resp) = self.docmd("AUTH", mechanism + " " + response)
  File "C:\Users\Daniil\AppData\Local\Programs\Python\Python39\lib\smtplib.py", line 432, in docmd
    return self.getreply()
  File "C:\Users\Daniil\AppData\Local\Programs\Python\Python39\lib\smtplib.py", line 405, in getreply
    raise SMTPServerDisconnected("Connection unexpectedly closed")
smtplib.SMTPServerDisconnected: Connection unexpectedly closed

我的settings.py

代码语言:javascript
运行
复制
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.mail.yahoo.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'email@yahoo.com'
EMAIL_HOST_PASSWORD = 'password'

我的views.py

代码语言:javascript
运行
复制
def post(self,request):
    print(request.POST.get('mail'), request.POST.get('type'))
    prod_type = models.ProductTypes.objects.filter(pk = 
    request.POST.get('type'))
    order_msg = prod_type[0].name
    email = EmailMessage('Qazpoligraph', order_msg, 
    settings.EMAIL_HOST_USER, to= (request.POST.get('mail'),))
    email.send()
    return redirect('/')

我试图改变EMAIL_PORT和EMAIL_HOST,但是没有什么改变。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-17 20:48:12

好的。我解决了我的问题。我认为这对遇到这种问题的另一个人-- settings.py中的问题--可能有帮助。

代码语言:javascript
运行
复制
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.yourmail.com'
EMAIL_HOST_USER = 'email'
EMAIL_HOST_PASSWORD = 'password'

我学习了自动填充端口的smtplib。然后我删除了"EMAIL_BACKEND“,并决定在设置中删除端口。幸运的是,它在那之后起作用了。最后,我有两个工作脚本,可以发送电子邮件消息(smtplib和django)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72652138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档