This question has been flagged

i have two issues here.

Firstly, an incoming mail named recruitment@example.com has "Actions to Perform on Incoming Mails: Create a New Record: Applicant".  At fetching "FETCH NOW" then no emails are fetched, and log shows GENERAL FAILURE and hereunder the log  :

2018-10-30 19:10:52,178 336 INFO example odoo.addons.fetchmail.models.fetchmail: start checking for new emails on pop server recruitment@example.com
2018-10-30 19:10:53,918 336 INFO example odoo.addons.fetchmail.models.fetchmail: General failure when trying to fetch mail from pop server recruitment@example.com.
Traceback (most recent call last):
  File "/var/lib/odoo/addons/11.0/fetchmail/models/fetchmail.py", line 206, in fetch_mail
    (header, messages, octets) = pop_server.retr(num)
  File "/usr/lib/python3.5/poplib.py", line 248, in retr
    return self._longcmd('RETR %s' % which)
  File "/usr/lib/python3.5/poplib.py", line 183, in _longcmd
    return self._getlongresp()
  File "/usr/lib/python3.5/poplib.py", line 168, in _getlongresp
    line, o = self._getline()
  File "/usr/lib/python3.5/poplib.py", line 130, in _getline
    raise error_proto('line too long')
poplib.error_proto: line too long
2018-10-30 19:10:54,052 336 ERROR example odoo.http: Exception during JSON request handling.
Traceback (most recent call last):
  File "/mnt/source-clone/odoo/http.py", line 650, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "/mnt/source-clone/odoo/http.py", line 310, in _handle_exception
    raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
  File "/mnt/source-clone/odoo/tools/pycompat.py", line 87, in reraise
    raise value
  File "/mnt/source-clone/odoo/http.py", line 692, in dispatch
    result = self._call_function(**self.params)
  File "/mnt/source-clone/odoo/http.py", line 342, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/mnt/source-clone/odoo/service/model.py", line 97, in wrapper
    return f(dbname, *args, **kwargs)
  File "/mnt/source-clone/odoo/http.py", line 335, in checked_call
    result = self.endpoint(*a, **kw)
  File "/mnt/source-clone/odoo/http.py", line 936, in __call__
    return self.method(*args, **kw)
  File "/mnt/source-clone/odoo/http.py", line 515, in response_wrap
    response = f(*args, **kw)
  File "/var/lib/odoo/addons/11.0/web/controllers/main.py", line 938, in call_button
    action = self._call_kw(model, method, args, {})
  File "/var/lib/odoo/addons/11.0/web/controllers/main.py", line 926, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "/mnt/source-clone/odoo/api.py", line 689, in call_kw
    return call_kw_multi(method, model, args, kwargs)
  File "/mnt/source-clone/odoo/api.py", line 680, in call_kw_multi
    result = method(recs, *args, **kwargs)
  File "/var/lib/odoo/addons/11.0/fetchmail/models/fetchmail.py", line 230, in fetch_mail
    pop_server.quit()
  File "/usr/lib/python3.5/poplib.py", line 274, in quit
    resp = self._shortcmd('QUIT')
  File "/usr/lib/python3.5/poplib.py", line 176, in _shortcmd
    return self._getresp()
  File "/usr/lib/python3.5/poplib.py", line 149, in _getresp
    resp, o = self._getline()
  File "/usr/lib/python3.5/poplib.py", line 130, in _getline
    raise error_proto('line too long')
poplib.error_proto: line too long
Secondly, for the same above incoming mail recruitment@example.com is related to FOUR  job positions (openings) . Each of the 4 openings has a separate email alias (All 4 are aliases of recruitment@example.com) . the forth job position had an alias Default Values {'job_id': 4} . I had deleted this 4th {'job_id': 4}  . However, when the scheduled action of fetching mail starts , then log shows that "Fetchmail Service for server action #101 failed in Job #4" where job#4 is the deleted job. I donot understand where this job#4 comes from ? hereunder the full log  :

2018-10-30 19:11:23,592 14 INFO example odoo.addons.base.ir.ir_cron: Starting job `Mail: Fetchmail Service`.
2018-10-30 19:11:23,632 14 INFO example odoo.addons.fetchmail.models.fetchmail: start checking for new emails on pop server recruitment@example.com
2018-10-30 19:11:25,455 14 INFO example odoo.addons.fetchmail.models.fetchmail: General failure when trying to fetch mail from pop server recruitment@example.com.
Traceback (most recent call last):
  File "/var/lib/odoo/addons/11.0/fetchmail/models/fetchmail.py", line 206, in fetch_mail
    (header, messages, octets) = pop_server.retr(num)
  File "/usr/lib/python3.5/poplib.py", line 248, in retr
    return self._longcmd('RETR %s' % which)
  File "/usr/lib/python3.5/poplib.py", line 183, in _longcmd
    return self._getlongresp()
  File "/usr/lib/python3.5/poplib.py", line 168, in _getlongresp
    line, o = self._getline()
  File "/usr/lib/python3.5/poplib.py", line 130, in _getline
    raise error_proto('line too long')
poplib.error_proto: line too long
2018-10-30 19:11:25,598 14 ERROR example odoo.addons.base.ir.ir_cron: Call from cron Mail: Fetchmail Service for server action #101 failed in Job #4
Traceback (most recent call last):
  File "/mnt/source-clone/odoo/tools/safe_eval.py", line 350, in safe_eval
    return unsafe_eval(c, globals_dict, locals_dict)
  File "", line 1, in <module>
  File "/var/lib/odoo/addons/11.0/fetchmail/models/fetchmail.py", line 153, in _fetch_mails
    return self.search([('state', '=', 'done'), ('type', 'in', ['pop', 'imap'])]).fetch_mail()
  File "/var/lib/odoo/addons/11.0/fetchmail/models/fetchmail.py", line 230, in fetch_mail
    pop_server.quit()
  File "/usr/lib/python3.5/poplib.py", line 274, in quit
    resp = self._shortcmd('QUIT')
  File "/usr/lib/python3.5/poplib.py", line 176, in _shortcmd
    return self._getresp()
  File "/usr/lib/python3.5/poplib.py", line 149, in _getresp
    resp, o = self._getline()
  File "/usr/lib/python3.5/poplib.py", line 130, in _getline
    raise error_proto('line too long')
poplib.error_proto: line too long
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/mnt/source-clone/odoo/addons/base/ir/ir_cron.py", line 102, in _callback
    self.env['ir.actions.server'].browse(server_action_id).run()
  File "/mnt/source-clone/odoo/addons/base/ir/ir_actions.py", line 554, in run
    res = func(action, eval_context=eval_context)
  File "/var/lib/odoo/addons/11.0/website/models/ir_actions.py", line 57, in run_action_code_multi
    res = super(ServerAction, self).run_action_code_multi(action, eval_context)
  File "/mnt/source-clone/odoo/addons/base/ir/ir_actions.py", line 430, in run_action_code_multi
    safe_eval(action.sudo().code.strip(), eval_context, mode="exec", nocopy=True)  # nocopy allows to return 'action'
  File "/mnt/source-clone/odoo/tools/safe_eval.py", line 373, in safe_eval
    pycompat.reraise(ValueError, ValueError('%s: "%s" while evaluating\n%r' % (ustr(type(e)), ustr(e), expr)), exc_info[2])
  File "/mnt/source-clone/odoo/tools/pycompat.py", line 86, in reraise
    raise value.with_traceback(tb)
  File "/mnt/source-clone/odoo/tools/safe_eval.py", line 350, in safe_eval
    return unsafe_eval(c, globals_dict, locals_dict)
  File "", line 1, in <module>
  File "/var/lib/odoo/addons/11.0/fetchmail/models/fetchmail.py", line 153, in _fetch_mails
    return self.search([('state', '=', 'done'), ('type', 'in', ['pop', 'imap'])]).fetch_mail()
  File "/var/lib/odoo/addons/11.0/fetchmail/models/fetchmail.py", line 230, in fetch_mail
    pop_server.quit()
  File "/usr/lib/python3.5/poplib.py", line 274, in quit
    resp = self._shortcmd('QUIT')
  File "/usr/lib/python3.5/poplib.py", line 176, in _shortcmd
    return self._getresp()
  File "/usr/lib/python3.5/poplib.py", line 149, in _getresp
    resp, o = self._getline()
  File "/usr/lib/python3.5/poplib.py", line 130, in _getline
    raise error_proto('line too long')
ValueError: <class 'poplib.error_proto'>: "line too long" while evaluating
'model._fetch_mails()'

Avatar
Discard
Author Best Answer

at file addons/fetchmail/models/fetchmail.py , simply increased to be

poplib._MAXLINE = 565536
that solved it.
Avatar
Discard