Python Odoo服务器错误:smtplib.SMTPServerDisconnected:请先运行connect()

Python Odoo服务器错误:smtplib.SMTPServerDisconnected:请先运行connect(),python,smtp,odoo,smtplib,odoo-14,Python,Smtp,Odoo,Smtplib,Odoo 14,我正在使用奥多版本14。我已经正确设置了SMTP邮件处理程序,当我测试连接时,odoo报告所有设置都正确 然而,当我试图发送电子邮件时,我会收到一个错误。以下是完整的错误跟踪堆栈: Error: Odoo Server Error Traceback (most recent call last): File "/opt/odoo14/odoo/odoo/addons/base/models/ir_http.py", line 237, in _dispatch

我正在使用奥多版本14。我已经正确设置了SMTP邮件处理程序,当我测试连接时,odoo报告所有设置都正确

然而,当我试图发送电子邮件时,我会收到一个错误。以下是完整的错误跟踪堆栈:

Error:
Odoo Server Error

Traceback (most recent call last):
  File "/opt/odoo14/odoo/odoo/addons/base/models/ir_http.py", line 237, in _dispatch
    result = request.dispatch()
  File "/opt/odoo14/odoo/odoo/http.py", line 683, in dispatch
    result = self._call_function(**self.params)
  File "/opt/odoo14/odoo/odoo/http.py", line 359, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/opt/odoo14/odoo/odoo/service/model.py", line 94, in wrapper
    return f(dbname, *args, **kwargs)
  File "/opt/odoo14/odoo/odoo/http.py", line 347, in checked_call
    result = self.endpoint(*a, **kw)
  File "/opt/odoo14/odoo/odoo/http.py", line 912, in __call__
    return self.method(*args, **kw)
  File "/opt/odoo14/odoo/odoo/http.py", line 531, in response_wrap
    response = f(*args, **kw)
  File "/opt/odoo14/odoo/addons/web/controllers/main.py", line 1381, in call_button
    action = self._call_kw(model, method, args, kwargs)
  File "/opt/odoo14/odoo/addons/web/controllers/main.py", line 1369, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "/opt/odoo14/odoo/odoo/api.py", line 396, in call_kw
    result = _call_kw_multi(method, model, args, kwargs)
  File "/opt/odoo14/odoo/odoo/api.py", line 383, in _call_kw_multi
    result = method(recs, *args, **kwargs)
  File "/opt/odoo14/odoo/addons/auth_signup/models/res_users.py", line 205, in action_reset_password
    template.send_mail(user.id, force_send=force_send, raise_exception=True)
  File "/opt/odoo14/odoo/addons/mail/models/mail_template.py", line 288, in send_mail
    mail.send(raise_exception=raise_exception)
  File "/opt/odoo14/odoo/addons/mail/models/mail_mail.py", line 272, in send
    smtp_session.quit()
  File "/usr/lib/python3.8/smtplib.py", line 988, in quit
    res = self.docmd("quit")
  File "/usr/lib/python3.8/smtplib.py", line 424, in docmd
    self.putcmd(cmd, args)
  File "/usr/lib/python3.8/smtplib.py", line 371, in putcmd
    self.send(str)
  File "/usr/lib/python3.8/smtplib.py", line 363, in send
    raise SMTPServerDisconnected('please run connect() first')
Exception

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/odoo14/odoo/odoo/http.py", line 639, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "/opt/odoo14/odoo/odoo/http.py", line 315, in _handle_exception
    raise exception.with_traceback(None) from new_cause
smtplib.SMTPServerDisconnected: please run connect() first

为什么服务器断开连接?我如何解决此问题?

此错误只是因为您必须使用connect()函数, 去看医生

或者您没有使用starttls()函数。
如果这两项都正确完成,那么错误可能是因为函数序列可能错误。在任何函数使用服务器之前,请检查连接是否已关闭。

如果您能提供代码片段,以便我们可以看到代码语句的顺序,那就太好了。请不要忘记清理个人信息的代码:)