TIP: You can type at any time to perform a new search.
Email Gateway
fetchmail · odoo/odoo
Security findings
Migration considerations
view_email_server_form— For a target of Odoo 17.0+: view 'view_email_server_form' uses `attrs=`/`states=`, which are no longer supported. Convert modifiers to direct Python boolean expressions in `invisible`/`readonly`/`required`; preserve the original AND/OR logic. migration-view-attrs-states · sourceview_email_server_tree— View 'view_email_server_tree' is defined with a `<tree>` root tag: renamed to `<list>` in Odoo 18.0. migration-view-tree-tag · source
Migration review checklist, not a compatibility verdict. No target version is selected: apply version-specific advice only when migrating to that version or later.
- 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
- 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 ID | Name | Model | Type | Status |
|---|---|---|---|---|
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)
-
activeBooleandefault=True args: 'Active' -
attachBooleandefault=Truehelp='Whether attachments should be downloaded. If not enabled, incoming emails will be stripped of any attachments before being processed' args: 'Keep Attachments' -
configurationTextreadonly=True args: 'Configuration' -
dateDatetimereadonly=Truestring='Last Fetch Date' -
is_sslBooleanhelp='Connections are encrypted with SSL/TLS through a dedicated port (default: IMAPS=993, POP3S=995)' args: 'SSL/TLS' -
message_idsOne2many → mail.mailreadonly=Truestring='Messages' args: 'mail.mail', 'fetchmail_server_id' -
nameCharrequired=True args: 'Name' -
object_idMany2one → ir.modelhelp='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' -
originalBooleanhelp='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' -
passwordCharreadonly=Truestates={'draft': [('readonly', False)]} -
portIntegerreadonly=Truestates={'draft': [('readonly', False)]} -
priorityIntegerdefault=5help='Defines the order of processing, lower values mean higher priority'readonly=Truestates={'draft': [('readonly', False)]}string='Server Priority' -
scriptChardefault='/mail/static/scripts/odoo-mailgate.py'readonly=True -
serverCharhelp='Hostname or IP of the mail server'readonly=Truestates={'draft': [('readonly', False)]}string='Server Name' -
server_typeSelectiondefault='pop'index=Truerequired=Truestring='Server Type' args: [('pop', 'POP Server'), ('imap', 'IMAP Server'), ('local', 'Local Server')] -
stateSelectioncopy=Falsedefault='draft'index=Truereadonly=Truestring='Status' args: [('draft', 'Not Confirmed'), ('done', 'Confirmed')] -
userCharreadonly=Truestates={'draft': [('readonly', False)]}string='Username'
-
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_idMany2one → fetchmail.serverindex=Truereadonly=True args: 'fetchmail.server', 'Inbound Mail Server'
No public methods.
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…