3

I am using odoo version 14. I have setup my SMTP mail handler correctly, and when I test the connection, odoo reports that everything is setup correctly.

However, when I try to send out an email, I get an error. Here is the complete error trace stack:

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

Why is the server disconnecting, and how do I resolve this?

Homunculus Reticulli
  • 65,167
  • 81
  • 216
  • 341
  • Would be great if you can provide the snippet of the code so that we can see the sequence of code statements. Please do not forget to sanitise the code for the personal info :) – DhakkanCoder Feb 22 '21 at 14:47

2 Answers2

0

This error is just because either you have to use connect() function, go to docs https://docs.python.org/3/library/smtplib.html#smtplib.SMTP.connect

or you have not used starttls() function. If these both are done correctly then, the error might be because the sequence of functions might be wrong. Please check whether the conection is being closed before any function using server.

Ayan Chawla
  • 142
  • 3
0

It worked for me to change the company email to the email I set up the smtp server with (email account aliases worked for me too)