TIP: You can type at any time to perform a new search.
Email Gateway
fetchmail · odoo/odoo
- 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…