Default Thread For Unbounded Emails

fetchmail_thread_default
REPOSITORY
REPOSITORYOCA/social
GIT
GIThttps://github.com/OCA/social.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/social/tree/18.0/fetchmail_thread_default
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYDiscuss
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), Therp BV
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), Therp BV
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, Kaynnan
WEBSITE
WEBSITEhttps://github.com/OCA/social
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:16
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
    - html_editor
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module extends the functionality of mail fetching to support
choosing a mail thread that acts as a mail sink and gathers all mail
messages that Odoo does not know where to put.

Dangling emails are really a problem because if you do not care about
them, SPAM can enter your inbox and keep increasing fetchmail process
network quota because Odoo would gather them every time it runs the
fetchmail process.

Before this, your only choice was to create a new record for those
unbounded emails. That could be useful under some circumstances, like
creating a `crm.lead` for them, but what happens if you do not want to
have lots of spammy leads? Or if you do not need Odoo's CRM at all?

Here we come to the rescue. This simple addons adds almost none
dependencies and allows you to direct those mails somewhere you can
handle or ignore at wish.

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
view_email_server_form Add default thread fetchmail.server xpath Inherits mail.view_email_server_form
Models touched (2)

New fields (1)
  • default_thread_id Reference
    help='Messages with no clear route will be posted as a new message to this thread.' selection='_get_thread_models' string='Default mail thread'
Public methods (1)
  • onchange_server_type(self)
    @api.onchange('server_type', 'is_ssl', 'object_id')
    Remove :attr:`default_thread_id` if there is :attr:`object_id`.

New fields (0)

No new fields.

Public methods (1)
  • message_process(self, model, message, custom_values=None, save_original=False, strip_attachments=False, thread_id=None)
    @api.model
REPOSITORY
REPOSITORYOCA/social
GIT
GIThttps://github.com/OCA/social.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/social/tree/16.0/fetchmail_thread_default
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYDiscuss
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), Therp BV
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), Therp BV
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, ntsirintanis, AlexPForgeFlow
WEBSITE
WEBSITEhttps://github.com/OCA/social
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:55
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
view_email_server_form Add default thread fetchmail.server xpath Inherits mail.view_email_server_form
Models touched (2)

New fields (1)
  • default_thread_id Reference
    help='Messages with no clear route will be posted as a new message to this thread.' selection='_get_thread_models' string='Default mail thread'
Public methods (1)
  • onchange_server_type(self)
    @api.onchange('server_type', 'is_ssl', 'object_id')
    Remove :attr:`default_thread_id` if there is :attr:`object_id`.

New fields (0)

No new fields.

Public methods (1)
  • message_process(self, model, message, custom_values=None, save_original=False, strip_attachments=False, thread_id=None)
    @api.model
REPOSITORY
REPOSITORYOCA/social
GIT
GIThttps://github.com/OCA/social.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/social/tree/14.0/fetchmail_thread_default
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYDiscuss
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), Therp BV
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), Therp BV
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, Giovanni Francesco Capalbo, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/social
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:41:08
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - fetchmail
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
view_email_server_form Add default thread fetchmail.server xpath Inherits fetchmail.view_email_server_form
Models touched (2)

New fields (1)
  • default_thread_id Reference
    help='Messages with no clear route will be posted as a new message to this thread.' selection='_get_thread_models' string='Default mail thread'
Public methods (1)
  • onchange_server_type(self)
    @api.onchange('server_type', 'is_ssl', 'object_id')
    Remove :attr:`default_thread_id` if there is :attr:`object_id`.

New fields (0)

No new fields.

Public methods (1)
  • message_process(self, model, message, custom_values=None, save_original=False, strip_attachments=False, thread_id=None)
    @api.model
REPOSITORY
REPOSITORYOCA/social
GIT
GIThttps://github.com/OCA/social.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/social/tree/13.0/fetchmail_thread_default
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYDiscuss
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA)
COMMITTERS
COMMITTERSJairo Llopis, OCA Transbot, oca-travis, Weblate, OCA-git-bot, Radovan Skolnik
WEBSITE
WEBSITEhttps://github.com/OCA/social
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:34:18
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - fetchmail
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
view_email_server_form Add default thread fetchmail.server xpath Inherits fetchmail.view_email_server_form
Models touched (2)

New fields (1)
  • default_thread_id Reference
    help='Messages with no clear route will be posted as a new message to this thread.' selection='_get_thread_models' string='Default mail thread'
Public methods (1)
  • onchange_server_type(self)
    @api.onchange('server_type', 'is_ssl', 'object_id')
    Remove :attr:`default_thread_id` if there is :attr:`object_id`.

New fields (0)

No new fields.

Public methods (1)
  • message_process(self, model, message, custom_values=None, save_original=False, strip_attachments=False, thread_id=None)
    @api.model
REPOSITORY
REPOSITORYOCA/social
GIT
GIThttps://github.com/OCA/social.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/social/tree/12.0/fetchmail_thread_default
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYDiscuss
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA)
COMMITTERS
COMMITTERSOCA Transbot, oca-travis, Weblate, OCA-git-bot, Tom Blauwendraat, Radovan Skolnik
WEBSITE
WEBSITEhttps://github.com/OCA/social
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:23
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - fetchmail
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
view_email_server_form Add default thread fetchmail.server xpath Inherits fetchmail.view_email_server_form
Models touched (2)

New fields (1)
  • default_thread_id Reference
    help='Messages with no clear route will be posted as a new message to this thread.' selection='_get_thread_models' string='Default mail thread'
Public methods (1)
  • onchange_server_type(self)
    @api.onchange('type', 'is_ssl', 'object_id')
    Remove :attr:`default_thread_id` if there is :attr:`object_id`.

New fields (0)

No new fields.

Public methods (1)
  • message_process(self, model, message, custom_values=None, save_original=False, strip_attachments=False, thread_id=None)
    @api.model
REPOSITORY
REPOSITORYOCA/social
GIT
GIThttps://github.com/OCA/social.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/social/tree/11.0/fetchmail_thread_default
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYDiscuss
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA)
COMMITTERS
COMMITTERSDenis Roussel, oca-travis, Weblate, OCA-git-bot, David
WEBSITE
WEBSITEhttps://github.com/OCA/social
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:24:01
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - fetchmail
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
view_email_server_form Add default thread fetchmail.server xpath Inherits fetchmail.view_email_server_form
Models touched (2)

New fields (1)
  • default_thread_id Reference
    help='Messages with no clear route will be posted as a new message to this thread.' selection='_get_thread_models' string='Default mail thread'
Public methods (1)
  • onchange_server_type(self)
    @api.onchange('type', 'is_ssl', 'object_id')
    Remove :attr:`default_thread_id` if there is :attr:`object_id`.

New fields (0)

No new fields.

Public methods (1)
  • message_process(self, model, message, custom_values=None, save_original=False, strip_attachments=False, thread_id=None)
    @api.model
REPOSITORY
REPOSITORYOCA/social
GIT
GIThttps://github.com/OCA/social.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/social/tree/9.0/fetchmail_thread_default
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYDiscuss
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA)
COMMITTERS
COMMITTERSJairo Llopis, OCA Transbot, oca-travis, Weblate, Sergio Teruel Albert
WEBSITE
WEBSITEhttps://www.tecnativa.com/
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:15:23
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - fetchmail
    - mail
    - base
    - base_setup
    - web_kanban
    - web
    - bus
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
view_email_server_form Add default thread fetchmail.server xpath Inherits fetchmail.view_email_server_form
Models touched (2)

New fields (1)
  • default_thread_id Reference
    help='Messages with no clear route will be posted as a new message to this thread.' selection='_get_thread_models' string='Default mail thread'
Public methods (1)
  • onchange_server_type(self, cr, uid, ids, server_type=False, ssl=False, object_id=False)
    Remove :attr:`default_thread_id` if there is :attr:`object_id`.

New fields (0)

No new fields.

Public methods (1)
  • message_process(self, model, message, custom_values=None, save_original=False, strip_attachments=False, thread_id=None)
    @api.model
STATUS
STATUSOpen migration PR - not merged yet for this version
REPOSITORY
REPOSITORYOCA/social
PULL REQUEST
PULL REQUEST[10.0][MIG] fetchmail_thread_default (#1862)