Repository
odoo/odoo · module folder
Module version
1.0
Category
Hidden/Tools
Folder size
0.88 MB
License
LGPL-3
Application
No
Auto-installable
Yes
Website
None
Last tracking update
2026-08-07 05:29:19
Authors
Maintainers
None
Committers
Thibault Delavallée, Martin Trigaux, Odoo Translation Bot, Nicolas Martinelli, Nicolas Lempereur, Barad Mahendra, Christophe Monniez, Xavier-Do, Nikunj Ladava, std-odoo, Mathieu Walravens, Krina Oza
Odoo dependencies
odoo/odoo:
- web
- bus
Python dependencies
None
System dependencies
None
Required by
crm, fetchmail_gmail, fetchmail_notify_error_to_sender, fetchmail_outlook, hr_recruitment, l10n_it_edi, mail_environment
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 form Inherits mail.view_mail_form
res_config_settings_view_form res.config.settings.view.form.inherit.fetchmail res.config.settings form 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
HTTP endpoints (0)

No HTTP endpoints found for this module.

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.

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…