Email Gateway

fetchmail
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/15.0/fetchmail
VERSION
VERSION 1.0
CATEGORY
CATEGORYHidden/Tools
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLEYes
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSOdoo Translation Bot, Martin Trigaux, Thibault Delavallée, Nicolas Martinelli, Nicolas Lempereur, Barad Mahendra, Christophe Monniez, Xavier-Do, Nikunj Ladava, std-odoo, Mathieu Walravens, Krina Oza
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:25:30
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
Retrieve incoming email on POP/IMAP servers.
============================================

Enter the parameters of your POP/IMAP account(s), and any incoming emails on
these accounts will be automatically downloaded into your Odoo system. All
POP3/IMAP-compatible servers are supported, included those that require an
encrypted SSL/TLS connection.

This can be used to easily create email-based workflows for many email-enabled Odoo documents, such as:
----------------------------------------------------------------------------------------------------------
    * CRM Leads/Opportunities
    * CRM Claims
    * Project Issues
    * Project Tasks
    * Human Resource Recruitments (Applicants)

Just install the relevant application, and you can assign any of these document
types (Leads, Project Issues) to your incoming email accounts. New emails will
automatically spawn new documents of the chosen type, so it's a snap to create a
mailbox-to-Odoo integration. Even better: these documents directly act as mini
conversations synchronized by email. You can reply from within Odoo, and the
answers will automatically be collected when they come back, and attached to the
same *conversation* document.

For more specific needs, you may also assign custom-defined actions
(technically: Server Actions) to be triggered for each incoming mail.
    

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
email_message_tree_view mail.mail.form.fetchmail mail.mail field Inherits mail.view_mail_form
res_config_settings_view_form res.config.settings.view.form.inherit.fetchmail res.config.settings div Inherits mail.res_config_settings_view_form
view_email_server_form fetchmail.server.form fetchmail.server form New
view_email_server_search fetchmail.server.search fetchmail.server search New
view_email_server_tree fetchmail.server.list fetchmail.server tree New
Models touched (2)

New fields (17)
  • active Boolean
    default=True args: 'Active'
  • attach Boolean
    default=True help='Whether attachments should be downloaded. If not enabled, incoming emails will be stripped of any attachments before being processed' args: 'Keep Attachments'
  • configuration Text
    readonly=True args: 'Configuration'
  • date Datetime
    readonly=True string='Last Fetch Date'
  • is_ssl Boolean
    help='Connections are encrypted with SSL/TLS through a dedicated port (default: IMAPS=993, POP3S=995)' args: 'SSL/TLS'
  • message_ids One2many → mail.mail
    readonly=True string='Messages' args: 'mail.mail', 'fetchmail_server_id'
  • name Char
    required=True args: 'Name'
  • object_id Many2one → ir.model
    help='Process each incoming mail as part of a conversation corresponding to this document type. This will create new documents for new conversations, or attach follow-up emails to the existing conversations (documents).' string='Create a New Record' args: 'ir.model'
  • original Boolean
    help='Whether a full original copy of each email should be kept for reference and attached to each processed message. This will usually double the size of your message database.' args: 'Keep Original'
  • password Char
    readonly=True states={'draft': [('readonly', False)]}
  • port Integer
    readonly=True states={'draft': [('readonly', False)]}
  • priority Integer
    default=5 help='Defines the order of processing, lower values mean higher priority' readonly=True states={'draft': [('readonly', False)]} string='Server Priority'
  • script Char
    default='/mail/static/scripts/odoo-mailgate.py' readonly=True
  • server Char
    help='Hostname or IP of the mail server' readonly=True states={'draft': [('readonly', False)]} string='Server Name'
  • server_type Selection
    default='pop' index=True required=True string='Server Type' args: [('pop', 'POP Server'), ('imap', 'IMAP Server'), ('local', 'Local Server')]
  • state Selection
    copy=False default='draft' index=True readonly=True string='Status' args: [('draft', 'Not Confirmed'), ('done', 'Confirmed')]
  • user Char
    readonly=True states={'draft': [('readonly', False)]} string='Username'
Public methods (8)
  • button_confirm_login(self)
  • connect(self)
  • create(self, vals_list)
    @api.model_create_multi
  • fetch_mail(self)
    WARNING: meant for cron usage only - will commit() after each email!
  • onchange_server_type(self)
    @api.onchange('server_type', 'is_ssl', 'object_id')
  • set_draft(self)
  • unlink(self)
  • write(self, values)

New fields (1)
  • fetchmail_server_id Many2one → fetchmail.server
    index=True readonly=True args: 'fetchmail.server', 'Inbound Mail Server'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/14.0/fetchmail
VERSION
VERSION 1.0
CATEGORY
CATEGORYHidden/Tools
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLEYes
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSOdoo Translation Bot, Martin Trigaux, Olivier Dony, Thibault Delavallée, Christophe Simonis, Xavier Morel, Nicolas Martinelli, Nicolas Lempereur, Aaron Bohy, Barad Mahendra, Yannick Tivisse, Xavier-Do, Nikunj Ladava, std-odoo
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:14:31
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
Retrieve incoming email on POP/IMAP servers.
============================================

Enter the parameters of your POP/IMAP account(s), and any incoming emails on
these accounts will be automatically downloaded into your Odoo system. All
POP3/IMAP-compatible servers are supported, included those that require an
encrypted SSL/TLS connection.

This can be used to easily create email-based workflows for many email-enabled Odoo documents, such as:
----------------------------------------------------------------------------------------------------------
    * CRM Leads/Opportunities
    * CRM Claims
    * Project Issues
    * Project Tasks
    * Human Resource Recruitments (Applicants)

Just install the relevant application, and you can assign any of these document
types (Leads, Project Issues) to your incoming email accounts. New emails will
automatically spawn new documents of the chosen type, so it's a snap to create a
mailbox-to-Odoo integration. Even better: these documents directly act as mini
conversations synchronized by email. You can reply from within Odoo, and the
answers will automatically be collected when they come back, and attached to the
same *conversation* document.

For more specific needs, you may also assign custom-defined actions
(technically: Server Actions) to be triggered for each incoming mail.
    

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
email_message_tree_view mail.mail.form.fetchmail mail.mail field Inherits mail.view_mail_form
res_config_settings_view_form res.config.settings.view.form.inherit.fetchmail res.config.settings div Inherits mail.res_config_settings_view_form
view_email_server_form fetchmail.server.form fetchmail.server form New
view_email_server_search fetchmail.server.search fetchmail.server search New
view_email_server_tree fetchmail.server.list fetchmail.server tree New
Models touched (2)

New fields (17)
  • active Boolean
    default=True args: 'Active'
  • attach Boolean
    default=True help='Whether attachments should be downloaded. If not enabled, incoming emails will be stripped of any attachments before being processed' args: 'Keep Attachments'
  • configuration Text
    readonly=True args: 'Configuration'
  • date Datetime
    readonly=True string='Last Fetch Date'
  • is_ssl Boolean
    help='Connections are encrypted with SSL/TLS through a dedicated port (default: IMAPS=993, POP3S=995)' args: 'SSL/TLS'
  • message_ids One2many → mail.mail
    readonly=True string='Messages' args: 'mail.mail', 'fetchmail_server_id'
  • name Char
    required=True args: 'Name'
  • object_id Many2one → ir.model
    help='Process each incoming mail as part of a conversation corresponding to this document type. This will create new documents for new conversations, or attach follow-up emails to the existing conversations (documents).' string='Create a New Record' args: 'ir.model'
  • original Boolean
    help='Whether a full original copy of each email should be kept for reference and attached to each processed message. This will usually double the size of your message database.' args: 'Keep Original'
  • password Char
    readonly=True states={'draft': [('readonly', False)]}
  • port Integer
    readonly=True states={'draft': [('readonly', False)]}
  • priority Integer
    default=5 help='Defines the order of processing, lower values mean higher priority' readonly=True states={'draft': [('readonly', False)]} string='Server Priority'
  • script Char
    default='/mail/static/scripts/odoo-mailgate.py' readonly=True
  • server Char
    help='Hostname or IP of the mail server' readonly=True states={'draft': [('readonly', False)]} string='Server Name'
  • server_type Selection
    default='pop' index=True required=True string='Server Type' args: [('pop', 'POP Server'), ('imap', 'IMAP Server'), ('local', 'Local Server')]
  • state Selection
    copy=False default='draft' index=True readonly=True string='Status' args: [('draft', 'Not Confirmed'), ('done', 'Confirmed')]
  • user Char
    readonly=True states={'draft': [('readonly', False)]} string='Username'
Public methods (8)
  • button_confirm_login(self)
  • connect(self)
  • create(self, values)
    @api.model
  • fetch_mail(self)
    WARNING: meant for cron usage only - will commit() after each email!
  • onchange_server_type(self)
    @api.onchange('server_type', 'is_ssl', 'object_id')
  • set_draft(self)
  • unlink(self)
  • write(self, values)

New fields (1)
  • fetchmail_server_id Many2one → fetchmail.server
    index=True readonly=True args: 'fetchmail.server', 'Inbound Mail Server'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/13.0/fetchmail
VERSION
VERSION 1.0
CATEGORY
CATEGORYTools
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLEYes
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSOdoo Translation Bot, Martin Trigaux, Thibault Delavallée, Christophe Simonis, Xavier Morel, Nicolas Martinelli, Nicolas Lempereur, Damien Bouvy, Yannick Tivisse, Martin Geubelle, Adrian Torres, Xavier-Do, david, Nikunj Ladava, std-odoo
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:06:44
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
Retrieve incoming email on POP/IMAP servers.
============================================

Enter the parameters of your POP/IMAP account(s), and any incoming emails on
these accounts will be automatically downloaded into your Odoo system. All
POP3/IMAP-compatible servers are supported, included those that require an
encrypted SSL/TLS connection.

This can be used to easily create email-based workflows for many email-enabled Odoo documents, such as:
----------------------------------------------------------------------------------------------------------
    * CRM Leads/Opportunities
    * CRM Claims
    * Project Issues
    * Project Tasks
    * Human Resource Recruitments (Applicants)

Just install the relevant application, and you can assign any of these document
types (Leads, Project Issues) to your incoming email accounts. New emails will
automatically spawn new documents of the chosen type, so it's a snap to create a
mailbox-to-Odoo integration. Even better: these documents directly act as mini
conversations synchronized by email. You can reply from within Odoo, and the
answers will automatically be collected when they come back, and attached to the
same *conversation* document.

For more specific needs, you may also assign custom-defined actions
(technically: Server Actions) to be triggered for each incoming mail.
    

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
email_message_tree_view mail.mail.form.fetchmail mail.mail field Inherits mail.view_mail_form
res_config_settings_view_form res.config.settings.view.form.inherit.fetchmail res.config.settings div Inherits mail.res_config_settings_view_form
view_email_server_form fetchmail.server.form fetchmail.server form New
view_email_server_search fetchmail.server.search fetchmail.server search New
view_email_server_tree fetchmail.server.list fetchmail.server tree New
Models touched (2)

New fields (17)
  • active Boolean
    default=True args: 'Active'
  • attach Boolean
    default=True help='Whether attachments should be downloaded. If not enabled, incoming emails will be stripped of any attachments before being processed' args: 'Keep Attachments'
  • configuration Text
    readonly=True args: 'Configuration'
  • date Datetime
    readonly=True string='Last Fetch Date'
  • is_ssl Boolean
    help='Connections are encrypted with SSL/TLS through a dedicated port (default: IMAPS=993, POP3S=995)' args: 'SSL/TLS'
  • message_ids One2many → mail.mail
    readonly=True string='Messages' args: 'mail.mail', 'fetchmail_server_id'
  • name Char
    required=True args: 'Name'
  • object_id Many2one → ir.model
    help='Process each incoming mail as part of a conversation corresponding to this document type. This will create new documents for new conversations, or attach follow-up emails to the existing conversations (documents).' string='Create a New Record' args: 'ir.model'
  • original Boolean
    help='Whether a full original copy of each email should be kept for reference and attached to each processed message. This will usually double the size of your message database.' args: 'Keep Original'
  • password Char
    readonly=True states={'draft': [('readonly', False)]}
  • port Integer
    readonly=True states={'draft': [('readonly', False)]}
  • priority Integer
    default=5 help='Defines the order of processing, lower values mean higher priority' readonly=True states={'draft': [('readonly', False)]} string='Server Priority'
  • script Char
    default='/mail/static/scripts/odoo-mailgate.py' readonly=True
  • server Char
    help='Hostname or IP of the mail server' readonly=True states={'draft': [('readonly', False)]} string='Server Name'
  • server_type Selection
    default='pop' index=True required=True string='Server Type' args: [('pop', 'POP Server'), ('imap', 'IMAP Server'), ('local', 'Local Server')]
  • state Selection
    copy=False default='draft' index=True readonly=True string='Status' args: [('draft', 'Not Confirmed'), ('done', 'Confirmed')]
  • user Char
    readonly=True states={'draft': [('readonly', False)]} string='Username'
Public methods (8)
  • button_confirm_login(self)
  • connect(self)
  • create(self, values)
    @api.model
  • fetch_mail(self)
    WARNING: meant for cron usage only - will commit() after each email!
  • onchange_server_type(self)
    @api.onchange('server_type', 'is_ssl', 'object_id')
  • set_draft(self)
  • unlink(self)
  • write(self, values)

New fields (1)
  • fetchmail_server_id Many2one → fetchmail.server
    index=True readonly=True args: 'fetchmail.server', 'Inbound Mail Server'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/12.0/fetchmail
VERSION
VERSION 1.0
CATEGORY
CATEGORYExtra Tools
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLEYes
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSOdoo Translation Bot, Martin Trigaux, Fabien Pinckaers, Thibault Delavallée, Christophe Simonis, Yannick Tivisse, Xavier-Do, Nikunj Ladava, std-odoo
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-05 23:57:02
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
Retrieve incoming email on POP/IMAP servers.
============================================

Enter the parameters of your POP/IMAP account(s), and any incoming emails on
these accounts will be automatically downloaded into your Odoo system. All
POP3/IMAP-compatible servers are supported, included those that require an
encrypted SSL/TLS connection.

This can be used to easily create email-based workflows for many email-enabled Odoo documents, such as:
----------------------------------------------------------------------------------------------------------
    * CRM Leads/Opportunities
    * CRM Claims
    * Project Issues
    * Project Tasks
    * Human Resource Recruitments (Applicants)

Just install the relevant application, and you can assign any of these document
types (Leads, Project Issues) to your incoming email accounts. New emails will
automatically spawn new documents of the chosen type, so it's a snap to create a
mailbox-to-Odoo integration. Even better: these documents directly act as mini
conversations synchronized by email. You can reply from within Odoo, and the
answers will automatically be collected when they come back, and attached to the
same *conversation* document.

For more specific needs, you may also assign custom-defined actions
(technically: Server Actions) to be triggered for each incoming mail.
    

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
email_message_tree_view mail.mail.form.fetchmail mail.mail field Inherits mail.view_mail_form
res_config_settings_view_form res.config.settings.view.form.inherit.fetchmail res.config.settings div Inherits mail.res_config_settings_view_form
view_email_server_form fetchmail.server.form fetchmail.server form New
view_email_server_search fetchmail.server.search fetchmail.server search New
view_email_server_tree fetchmail.server.list fetchmail.server tree New
Models touched (2)

New fields (17)
  • active Boolean
    default=True args: 'Active'
  • attach Boolean
    default=True help='Whether attachments should be downloaded. If not enabled, incoming emails will be stripped of any attachments before being processed' args: 'Keep Attachments'
  • configuration Text
    readonly=True args: 'Configuration'
  • date Datetime
    readonly=True string='Last Fetch Date'
  • is_ssl Boolean
    help='Connections are encrypted with SSL/TLS through a dedicated port (default: IMAPS=993, POP3S=995)' args: 'SSL/TLS'
  • message_ids One2many → mail.mail
    readonly=True string='Messages' args: 'mail.mail', 'fetchmail_server_id'
  • name Char
    required=True args: 'Name'
  • object_id Many2one → ir.model
    help='Process each incoming mail as part of a conversation corresponding to this document type. This will create new documents for new conversations, or attach follow-up emails to the existing conversations (documents).' string='Create a New Record' args: 'ir.model'
  • original Boolean
    help='Whether a full original copy of each email should be kept for reference and attached to each processed message. This will usually double the size of your message database.' args: 'Keep Original'
  • password Char
    readonly=True states={'draft': [('readonly', False)]}
  • port Integer
    readonly=True states={'draft': [('readonly', False)]}
  • priority Integer
    default=5 help='Defines the order of processing, lower values mean higher priority' readonly=True states={'draft': [('readonly', False)]} string='Server Priority'
  • script Char
    default='/mail/static/scripts/openerp_mailgate.py' readonly=True
  • server Char
    help='Hostname or IP of the mail server' readonly=True states={'draft': [('readonly', False)]} string='Server Name'
  • state Selection
    copy=False default='draft' index=True readonly=True string='Status' args: [('draft', 'Not Confirmed'), ('done', 'Confirmed')]
  • type Selection
    default='pop' index=True required=True args: [('pop', 'POP Server'), ('imap', 'IMAP Server'), ('local', 'Local Server')], 'Server Type'
  • user Char
    readonly=True states={'draft': [('readonly', False)]} string='Username'
Public methods (8)
  • button_confirm_login(self)
    @api.multi
  • connect(self)
    @api.multi
  • create(self, values)
    @api.model
  • fetch_mail(self)
    @api.multi
    WARNING: meant for cron usage only - will commit() after each email!
  • onchange_server_type(self)
    @api.onchange('type', 'is_ssl', 'object_id')
  • set_draft(self)
    @api.multi
  • unlink(self)
    @api.multi
  • write(self, values)
    @api.multi

New fields (1)
  • fetchmail_server_id Many2one → fetchmail.server
    index=True oldname='server_id' readonly=True args: 'fetchmail.server', 'Inbound Mail Server'
Public methods (2)
  • create(self, values)
    @api.model
  • write(self, values)
    @api.multi
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/11.0/fetchmail
VERSION
VERSION 1.0
CATEGORY
CATEGORYExtra Tools
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLEYes
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSOdoo Translation Bot, Martin Trigaux, Thibault Delavallée, Xavier Morel, Nicolas Martinelli, GitHub, Yannick Tivisse, Odoo Online
WEBSITE
WEBSITEhttps://www.odoo.com/page/mailing
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-05 23:53:44
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
Retrieve incoming email on POP/IMAP servers.
============================================

Enter the parameters of your POP/IMAP account(s), and any incoming emails on
these accounts will be automatically downloaded into your Odoo system. All
POP3/IMAP-compatible servers are supported, included those that require an
encrypted SSL/TLS connection.

This can be used to easily create email-based workflows for many email-enabled Odoo documents, such as:
----------------------------------------------------------------------------------------------------------
    * CRM Leads/Opportunities
    * CRM Claims
    * Project Issues
    * Project Tasks
    * Human Resource Recruitments (Applicants)

Just install the relevant application, and you can assign any of these document
types (Leads, Project Issues) to your incoming email accounts. New emails will
automatically spawn new documents of the chosen type, so it's a snap to create a
mailbox-to-Odoo integration. Even better: these documents directly act as mini
conversations synchronized by email. You can reply from within Odoo, and the
answers will automatically be collected when they come back, and attached to the
same *conversation* document.

For more specific needs, you may also assign custom-defined actions
(technically: Server Actions) to be triggered for each incoming mail.
    

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
email_message_tree_view mail.mail.form.fetchmail mail.mail field Inherits mail.view_mail_form
res_config_settings_view_form res.config.settings.view.form.inherit.fetchmail res.config.settings div Inherits mail.res_config_settings_view_form
view_email_server_form fetchmail.server.form fetchmail.server form New
view_email_server_search fetchmail.server.search fetchmail.server search New
view_email_server_tree fetchmail.server.list fetchmail.server tree New
Models touched (2)

New fields (18)
  • action_id Many2one → ir.actions.server
    help='Optional custom server action to trigger for each incoming mail, on the record that was created or updated by this mail' string='Server Action' args: 'ir.actions.server'
  • active Boolean
    default=True args: 'Active'
  • attach Boolean
    default=True help='Whether attachments should be downloaded. If not enabled, incoming emails will be stripped of any attachments before being processed' args: 'Keep Attachments'
  • configuration Text
    readonly=True args: 'Configuration'
  • date Datetime
    readonly=True string='Last Fetch Date'
  • is_ssl Boolean
    help='Connections are encrypted with SSL/TLS through a dedicated port (default: IMAPS=993, POP3S=995)' args: 'SSL/TLS'
  • message_ids One2many → mail.mail
    readonly=True string='Messages' args: 'mail.mail', 'fetchmail_server_id'
  • name Char
    required=True args: 'Name'
  • object_id Many2one → ir.model
    help='Process each incoming mail as part of a conversation corresponding to this document type. This will create new documents for new conversations, or attach follow-up emails to the existing conversations (documents).' string='Create a New Record' args: 'ir.model'
  • original Boolean
    help='Whether a full original copy of each email should be kept for reference and attached to each processed message. This will usually double the size of your message database.' args: 'Keep Original'
  • password Char
    readonly=True states={'draft': [('readonly', False)]}
  • port Integer
    readonly=True states={'draft': [('readonly', False)]}
  • priority Integer
    default=5 help='Defines the order of processing, lower values mean higher priority' readonly=True states={'draft': [('readonly', False)]} string='Server Priority'
  • script Char
    default='/mail/static/scripts/openerp_mailgate.py' readonly=True
  • server Char
    help='Hostname or IP of the mail server' readonly=True states={'draft': [('readonly', False)]} string='Server Name'
  • state Selection
    copy=False default='draft' index=True readonly=True string='Status' args: [('draft', 'Not Confirmed'), ('done', 'Confirmed')]
  • type Selection
    default='pop' index=True required=True args: [('pop', 'POP Server'), ('imap', 'IMAP Server'), ('local', 'Local Server')], 'Server Type'
  • user Char
    readonly=True states={'draft': [('readonly', False)]} string='Username'
Public methods (8)
  • button_confirm_login(self)
    @api.multi
  • connect(self)
    @api.multi
  • create(self, values)
    @api.model
  • fetch_mail(self)
    @api.multi
    WARNING: meant for cron usage only - will commit() after each email!
  • onchange_server_type(self)
    @api.onchange('type', 'is_ssl', 'object_id')
  • set_draft(self)
    @api.multi
  • unlink(self)
    @api.multi
  • write(self, values)
    @api.multi

New fields (1)
  • fetchmail_server_id Many2one → fetchmail.server
    index=True oldname='server_id' readonly=True args: 'fetchmail.server', 'Inbound Mail Server'
Public methods (2)
  • create(self, values)
    @api.model
  • write(self, values)
    @api.multi
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/10.0/fetchmail
VERSION
VERSION 1.0
CATEGORY
CATEGORYExtra Tools
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLEYes
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSOdoo Translation Bot, Martin Trigaux, Olivier Dony, Denis Ledoux, Christophe Simonis, Jérome Maes, Julien Legros, qdp-odoo
WEBSITE
WEBSITEhttps://www.odoo.com/page/mailing
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-05 23:50:49
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - mail
    - base
    - base_setup
    - web_kanban
    - web
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Retrieve incoming email on POP/IMAP servers.
============================================

Enter the parameters of your POP/IMAP account(s), and any incoming emails on
these accounts will be automatically downloaded into your Odoo system. All
POP3/IMAP-compatible servers are supported, included those that require an
encrypted SSL/TLS connection.

This can be used to easily create email-based workflows for many email-enabled Odoo documents, such as:
----------------------------------------------------------------------------------------------------------
    * CRM Leads/Opportunities
    * CRM Claims
    * Project Issues
    * Project Tasks
    * Human Resource Recruitments (Applicants)

Just install the relevant application, and you can assign any of these document
types (Leads, Project Issues) to your incoming email accounts. New emails will
automatically spawn new documents of the chosen type, so it's a snap to create a
mailbox-to-Odoo integration. Even better: these documents directly act as mini
conversations synchronized by email. You can reply from within Odoo, and the
answers will automatically be collected when they come back, and attached to the
same *conversation* document.

For more specific needs, you may also assign custom-defined actions
(technically: Server Actions) to be triggered for each incoming mail.
    

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
email_message_tree_view mail.mail.form.fetchmail mail.mail field Inherits mail.view_mail_form
inherit_view_general_configuration General Settings base.config.settings div Inherits base_setup.view_general_configuration
view_email_server_form fetchmail.server.form fetchmail.server form New
view_email_server_search fetchmail.server.search fetchmail.server search New
view_email_server_tree fetchmail.server.list fetchmail.server tree New
Models touched (1)

New fields (1)
  • fetchmail_server_id Many2one → fetchmail.server
    index=True oldname='server_id' readonly=True args: 'fetchmail.server', 'Inbound Mail Server'
Public methods (2)
  • create(self, values)
    @api.model
  • write(self, values)
    @api.multi
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/9.0/fetchmail
VERSION
VERSION 1.0
CATEGORY
CATEGORYExtra Tools
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLEYes
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSOdoo Translation Bot, Martin Trigaux, Olivier Dony, Christophe Simonis, Xavier Morel, Nicolas Martinelli, Aaron Bohy, Yannick Tivisse
WEBSITE
WEBSITEhttps://www.odoo.com/page/mailing
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-05 23:48:31
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - mail
    - base
    - base_setup
    - web_kanban
    - web
    - bus
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Retrieve incoming email on POP/IMAP servers.
============================================

Enter the parameters of your POP/IMAP account(s), and any incoming emails on
these accounts will be automatically downloaded into your OpenERP system. All
POP3/IMAP-compatible servers are supported, included those that require an
encrypted SSL/TLS connection.

This can be used to easily create email-based workflows for many email-enabled OpenERP documents, such as:
----------------------------------------------------------------------------------------------------------
    * CRM Leads/Opportunities
    * CRM Claims
    * Project Issues
    * Project Tasks
    * Human Resource Recruitments (Applicants)

Just install the relevant application, and you can assign any of these document
types (Leads, Project Issues) to your incoming email accounts. New emails will
automatically spawn new documents of the chosen type, so it's a snap to create a
mailbox-to-OpenERP integration. Even better: these documents directly act as mini
conversations synchronized by email. You can reply from within OpenERP, and the
answers will automatically be collected when they come back, and attached to the
same *conversation* document.

For more specific needs, you may also assign custom-defined actions
(technically: Server Actions) to be triggered for each incoming mail.
    

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
email_message_tree_view mail.mail.form.fetchmail mail.mail field Inherits mail.view_mail_form
inherit_view_general_configuration General Settings base.config.settings div Inherits base_setup.view_general_configuration
view_email_server_form fetchmail.server.form fetchmail.server form New
view_email_server_search fetchmail.server.search fetchmail.server search New
view_email_server_tree fetchmail.server.list fetchmail.server tree New
Models touched (0)

No models found for this module.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/8.0/fetchmail
VERSION
VERSION 1.0
CATEGORY
CATEGORYTools
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLEYes
AUTHORS
AUTHORSOpenERP SA
MAINTAINERS
MAINTAINERSOpenERP SA
COMMITTERS
COMMITTERSOdoo Translation Bot, Martin Trigaux, Fabien Pinckaers, Antony Lesuisse, Olivier Dony, Thibault Delavallée, Vo Minh Thu, Launchpad Translations on behalf of openerp, Quentin (OpenERP), Denis Ledoux, Fabien Meghazi, Christophe Simonis, Julien Legros, Richard Mathot, Aaron Bohy
WEBSITE
WEBSITEhttps://www.odoo.com/page/mailing
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-05 23:45:40
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - mail
    - base
    - base_setup
    - web_kanban
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Retrieve incoming email on POP/IMAP servers.
============================================

Enter the parameters of your POP/IMAP account(s), and any incoming emails on
these accounts will be automatically downloaded into your OpenERP system. All
POP3/IMAP-compatible servers are supported, included those that require an
encrypted SSL/TLS connection.

This can be used to easily create email-based workflows for many email-enabled OpenERP documents, such as:
----------------------------------------------------------------------------------------------------------
    * CRM Leads/Opportunities
    * CRM Claims
    * Project Issues
    * Project Tasks
    * Human Resource Recruitments (Applicants)

Just install the relevant application, and you can assign any of these document
types (Leads, Project Issues) to your incoming email accounts. New emails will
automatically spawn new documents of the chosen type, so it's a snap to create a
mailbox-to-OpenERP integration. Even better: these documents directly act as mini
conversations synchronized by email. You can reply from within OpenERP, and the
answers will automatically be collected when they come back, and attached to the
same *conversation* document.

For more specific needs, you may also assign custom-defined actions
(technically: Server Actions) to be triggered for each incoming mail.
    

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
email_message_tree_view mail.mail.form.fetchmail mail.mail field Inherits mail.view_mail_form
inherit_view_general_configuration General Settings base.config.settings div Inherits base_setup.view_general_configuration
view_email_server_form fetchmail.server.form fetchmail.server form New
view_email_server_search fetchmail.server.search fetchmail.server search New
view_email_server_tree fetchmail.server.list fetchmail.server tree New
Models touched (0)

No models found for this module.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/7.0/fetchmail
VERSION
VERSION 1.0
CATEGORY
CATEGORYTools
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLEYes
AUTHORS
AUTHORSOpenERP SA
MAINTAINERS
MAINTAINERSOpenERP SA
COMMITTERS
COMMITTERSRaphael Collet, Twinkle Christian (OpenERP), Cecile Tonglet, Atul Patel (OpenERP), Stephane Wirtel, Odoo Translation Bot, Turkesh Patel (Open ERP), Pinakin Nayi (OpenERP), Harry (OpenERP), Antonin Bourguignon, Martin Trigaux, Ajay Chauhan (OpenERP), Purnendu Singh (OpenERP), Saurang Suthar (OpenERP), Fabien Pinckaers, Antony Lesuisse, Saurang Suthar, Olivier Dony, Divyesh Makwana (Open ERP), Tejas Tank, Thibault Delavallée, Vo Minh Thu, Hardik, pso (OpenERP), Sbh (Openerp), Launchpad Translations on behalf of openerp, vta vta@openerp.com, Quentin (OpenERP), Kuldeep Joshi (OpenERP), Mayur Maheshwari (OpenERP), Jigar Amin - OpenERP, help, dhr, Julien Legros
WEBSITE
WEBSITEhttp://www.openerp.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-05 23:43:11
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - mail
    - base
    - base_setup
    - web_kanban
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Retrieve incoming email on POP/IMAP servers.
============================================

Enter the parameters of your POP/IMAP account(s), and any incoming emails on
these accounts will be automatically downloaded into your OpenERP system. All
POP3/IMAP-compatible servers are supported, included those that require an
encrypted SSL/TLS connection.

This can be used to easily create email-based workflows for many email-enabled OpenERP documents, such as:
----------------------------------------------------------------------------------------------------------
    * CRM Leads/Opportunities
    * CRM Claims
    * Project Issues
    * Project Tasks
    * Human Resource Recruitments (Applicants)

Just install the relevant application, and you can assign any of these document
types (Leads, Project Issues) to your incoming email accounts. New emails will
automatically spawn new documents of the chosen type, so it's a snap to create a
mailbox-to-OpenERP integration. Even better: these documents directly act as mini
conversations synchronized by email. You can reply from within OpenERP, and the
answers will automatically be collected when they come back, and attached to the
same *conversation* document.

For more specific needs, you may also assign custom-defined actions
(technically: Server Actions) to be triggered for each incoming mail.
    

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
email_message_tree_view mail.mail.form.fetchmail mail.mail field Inherits mail.view_mail_form
inherit_view_general_configuration General Settings base.config.settings div Inherits base_setup.view_general_configuration
view_email_server_form fetchmail.server.form fetchmail.server form New
view_email_server_search fetchmail.server.search fetchmail.server search New
view_email_server_tree fetchmail.server.list fetchmail.server tree New
Models touched (0)

No models found for this module.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/6.1/fetchmail
VERSION
VERSION 1.0
CATEGORY
CATEGORYTools
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOpenERP SA
MAINTAINERS
MAINTAINERSOpenERP SA
COMMITTERS
COMMITTERSRaphael Collet, Rucha (Open ERP), Stephane Wirtel, Numerigraphe - Lionel Sausin, Harry (OpenERP), Martin Trigaux, Bhumika (OpenERP), Fabien Pinckaers, Antony Lesuisse, Olivier Dony, Thibault Delavallée, Vo Minh Thu, Launchpad Translations on behalf of openerp, Quentin (OpenERP), Nimesh (Open ERP), vro, niv-openerp, Xavier ALT, Ujjvala Collins (OpenERP), Xavier Morel, Thibault Francois, Carlos Vásquez, ksa (Open ERP), Els Van Vossel, Israel Fermin Montilla, Rifakat Haradwala (Open ERP), aag (OpenERP), Yogesh (OpenERP), ado, Antoine Huvelle
WEBSITE
WEBSITEhttp://www.openerp.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-05 23:41:35
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
    - mail
    - base_tools
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Retrieve incoming email on POP / IMAP servers
=============================================

Enter the parameters of your POP/IMAP account(s), and any incoming
emails on these accounts will be automatically downloaded into your OpenERP
system. All POP3/IMAP-compatible servers are supported, included those
that require an encrypted SSL/TLS connection.

This can be used to easily create email-based workflows for many
email-enabled OpenERP documents, such as:

 * CRM Leads/Opportunities
 * CRM Claims
 * Project Issues
 * Project Tasks
 * Human Resource Recruitments (Applicants)
 * etc.

Just install the relevant application, and you can assign any of
these document types (Leads, Project Issues, etc.) to your incoming
email accounts. New emails will automatically spawn new documents
of the chosen type, so it's a snap to create a mailbox-to-OpenERP
integration. Even better: these documents directly act as mini
conversations synchronized by email. You can reply from within
OpenERP, and the answers will automatically be collected when
they come back, and attached to the same *conversation* document.

For more specific needs, you may also assign custom-defined actions
(technically: Server Actions) to be triggered for each incoming
mail. 
    

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
email_message_search_view mail.message.inherit.search mail.message xpath Inherits mail.view_email_message_search
email_message_tree_view mail.message.list.fetchmail mail.message field Inherits mail.view_email_message_tree
view_email_server_form fetchmail.server.form fetchmail.server form New
view_email_server_search fetchmail.server.search fetchmail.server search New
view_email_server_tree fetchmail.server.list fetchmail.server tree New
Models touched (0)

No models found for this module.