Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
19e532e
ADD mail_outbound_static: Allow configuration of from email header
lasley May 24, 2019
fa18921
Port mail_outbound_static to 12.0
eLBati May 24, 2019
ef406d5
Update website in mail_outbound_static/__manifest__.py
eLBati Sep 11, 2019
5d6806c
[UPD] Update mail_outbound_static.pot
oca-travis Sep 11, 2019
b50d370
[UPD] README.rst
OCA-git-bot Sep 11, 2019
07f7f95
[MIG] mail_outbound_static: Migration to 13.0
BT-fgarbely Jun 30, 2020
9a91bea
[IMP] mail_outbound_static: black, isort, prettier
BT-fgarbely Jun 30, 2020
3055fcd
[UPD] Update mail_outbound_static.pot
oca-travis Jul 29, 2020
6f48565
[UPD] README.rst
OCA-git-bot Jul 29, 2020
57599e4
[FIX] 13.0 mail_outbound_static
eLBati Jul 22, 2020
95e9b47
mail_outbound_static 13.0.1.0.1
OCA-git-bot Jul 29, 2020
946a194
[MIG] mail_outbound_static: Migration to 14.0
pierre-pizzetta Dec 7, 2020
cd4285a
[UPD] Update mail_outbound_static.pot
oca-travis May 7, 2021
38eced6
mail_outbound_static: Domain whitelist based logic.
zaoral Aug 25, 2020
335b5d3
new changes to squash after review:
zaoral Sep 4, 2020
1110a04
[14.0][FIX] mail_outbound_static: Apply pre-commit
rousseldenis Jan 19, 2022
3a6f646
[IMP] mail_outbound_static: black, isort, prettier
yankinmax Jan 26, 2022
43e42b9
[MIG] mail_outbound_static: Migration to 15.0
yankinmax Jan 26, 2022
7c00bba
[IMP] mail_outbound_static: pylint
yankinmax Jan 26, 2022
fad0e72
fixup! [MIG] mail_outbound_static: Migration to 15.0
yankinmax Jan 27, 2022
d0164c7
[UPD] Update mail_outbound_static.pot
Mar 3, 2022
a0633df
[FIX] mail_outbound_static: Remove warning
victoralmau Oct 19, 2022
6559eca
[MIG] mail_outbound_static: Migration to 16.0
dreispt Jan 2, 2023
7f11eac
[UPD] Update mail_outbound_static.pot
Mar 20, 2023
cb3bdfe
[UPD] README.rst
OCA-git-bot Mar 20, 2023
72d7f7b
[FIX] Move smtp info update logic to _prepare_email_message()
yostashiro Jan 29, 2023
8146796
Align maximum length of TLD to DNS limit (63 chars)
are-agilebg Apr 4, 2023
7ae8e1f
[UPD] README.rst
OCA-git-bot Apr 18, 2023
27b7d13
mail_outbound_static 16.0.1.0.1
OCA-git-bot Apr 18, 2023
e7475dd
[UPD] README.rst
OCA-git-bot Sep 3, 2023
bd6d5fc
[BOT] post-merge updates
OCA-git-bot Oct 5, 2023
54ca37e
Update translation files
weblate Oct 9, 2023
21b1d53
[IMP] mail_outbound_static: pre-commit auto fixes
SodexisTeam Nov 21, 2023
c352281
[MIG] mail_outbound_static: Migration to 17.0
SodexisTeam Dec 14, 2023
2a26833
[UPD] Update mail_outbound_static.pot
Dec 28, 2023
9489b7a
[BOT] post-merge updates
OCA-git-bot Dec 28, 2023
99c3737
Added translation using Weblate (Italian)
mymage Feb 4, 2024
db27c10
Translated using Weblate (Italian)
mymage Feb 4, 2024
f957a96
[UPD] copier version 1.20
Mar 7, 2024
2be8feb
[BOT] post-merge updates
OCA-git-bot Mar 25, 2024
c0b95d2
[IMP] mail_outbound_static: pre-commit auto fixes
SodexisTeam Nov 21, 2023
0c2f361
[BOT] post-merge updates
OCA-git-bot May 6, 2024
46bfd0e
[MIG] mail_outbound_static: pre-commit
astirpe Nov 25, 2024
ef4e112
[MIG] mail_outbound_static: migrate to V18
astirpe Nov 25, 2024
f1d076a
[UPD] Update mail_outbound_static.pot
Feb 12, 2025
c851a0b
[BOT] post-merge updates
OCA-git-bot Feb 12, 2025
e9d07f0
Update translation files
weblate Feb 12, 2025
9a84f2e
[FIX] mail_outbound_static: Use the function formataddr() from odoo.t…
BT-fgarbely Apr 17, 2025
c9d7342
[BOT] post-merge updates
OCA-git-bot May 2, 2025
4b09393
Added translation using Weblate (Turkish)
bo-eska Aug 13, 2025
2fd4bdd
[19.0][MIG] mail_outbound_static
astirpe Nov 5, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
126 changes: 126 additions & 0 deletions mail_outbound_static/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association

====================
Mail Outbound Static
====================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:3815aafb83b445faa56393959be5720653ee11b63adefc76cb89c4940a6e7f37
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/license-LGPL--3-blue.png
:target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
:alt: License: LGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fmail-lightgray.png?logo=github
:target: https://github.com/OCA/mail/tree/19.0/mail_outbound_static
:alt: OCA/mail
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/mail-19-0/mail-19-0-mail_outbound_static
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/mail&target_branch=19.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

This module brings Odoo outbound emails in to strict compliance with
RFC-2822 by allowing for a dynamically configured From header, with the
sender's e-mail being appended into the proper Sender header instead. To
accomplish this we:

- Add a domain whitelist field in the mail server model. This one
represent an allowed Domains list separated by commas. If there is
not given SMTP server it will let us to search the proper mail server
to be used to send the messages where the message 'From' email domain
match with the domain whitelist. If there is not mail server that
matches then will use the default mail server to send the message.
- Add a Email From field that will let us to email from a specific
address taking into account this conditions:

1) If the sender domain match with the domain whitelist then the
original message's 'From' will remain as it is and will not be
changed because the mail server is able to send in the name of the
sender domain.
2) If the original message's 'From' does not match with the domain
whitelist then the email From is replaced with the Email From
field value.

- Add compatibility to define the smtp information in Odoo config file.
Both smtp_from and smtp_whitelist_domain values will be used if there
is not mail server configured in the system.

**Table of contents**

.. contents::
:local:

Usage
=====

- Navigate to an Outbound Email Server
- Set the Email From option to an email address
- Set the Domain Whitelist option with the domain whitelist

Known issues / Roadmap
======================



Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/mail/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/mail/issues/new?body=module:%20mail_outbound_static%0Aversion:%2019.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* braintec AG
* LasLabs
* Adhoc SA

Contributors
------------

- Frédéric Garbely <frederic.garbely@braintec.com>
- Dave Lasley <dave@laslabs.com>
- Lorenzo Battistini <https://github.com/eLBati>
- Pierre Pizzetta <pierre@devreaction.com>
- Katherine Zaoral <kz@adhoc.com.ar>
- Juan José Scarafía <jjs@adhoc.com.ar>
- `Quartile <https://www.quartile.co>`__:

- Yoshi Tashiro

Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

This module is part of the `OCA/mail <https://github.com/OCA/mail/tree/19.0/mail_outbound_static>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
4 changes: 4 additions & 0 deletions mail_outbound_static/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Copyright 2017 LasLabs Inc.
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).

from . import models
16 changes: 16 additions & 0 deletions mail_outbound_static/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Copyright 2016-2022 LasLabs Inc.
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).

{
"name": "Mail Outbound Static",
"summary": "Allows you to configure the from header for a mail server.",
"version": "19.0.1.0.0",
"category": "Discuss",
"website": "https://github.com/OCA/mail",
"author": "braintec AG, LasLabs, Adhoc SA, Odoo Community Association (OCA)",
"license": "LGPL-3",
"application": False,
"installable": True,
"depends": ["base"],
"data": ["views/ir_mail_server_view.xml"],
}
74 changes: 74 additions & 0 deletions mail_outbound_static/i18n/es.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * mail_outbound_static
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 13.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-09-03 12:53+0000\n"
"PO-Revision-Date: 2020-09-03 12:53+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"

#. module: mail_outbound_static
#. odoo-python
#: code:addons/mail_outbound_static/models/ir_mail_server.py:0
msgid ""
"%s is not a valid domain. Please define a list of valid domains separated by "
"comma"
msgstr ""
"%s no es un dominio válido. Por favor defina una lista de dominios validos "
"separados por comas"

#. module: mail_outbound_static
#: model:ir.model.fields,help:mail_outbound_static.field_ir_mail_server__domain_whitelist
msgid ""
"Allowed Domains list separated by commas. If there is not given SMTP server "
"it will let us to search the proper mail server to be used to sent the "
"messages where the message 'From' email domain match with the domain "
"whitelist."
msgstr ""
"Lista de dominios permitidos separados por comas. Si no se ha seleccionado "
"un servidor SMTP nos permitirá seleccionar el servidor de mail apropiado "
"para enviar los mensajes donde el dominio del email del 'De' coincida con la "
"lista blanca de dominios."

#. module: mail_outbound_static
#: model:ir.model.fields,field_description:mail_outbound_static.field_ir_mail_server__domain_whitelist
msgid "Domain Whitelist"
msgstr "Lista blanca de dominios"

#. module: mail_outbound_static
#: model:ir.model.fields,field_description:mail_outbound_static.field_ir_mail_server__smtp_from
msgid "Email From"
msgstr "Email De"

#. module: mail_outbound_static
#: model:ir.model,name:mail_outbound_static.model_ir_mail_server
msgid "Mail Server"
msgstr "Servidor de correo"

#. module: mail_outbound_static
#. odoo-python
#: code:addons/mail_outbound_static/models/ir_mail_server.py:0
msgid "Not a valid Email From"
msgstr "No es un Email De válido"

#. module: mail_outbound_static
#: model:ir.model.fields,help:mail_outbound_static.field_ir_mail_server__smtp_from
msgid ""
"Set this in order to email from a specific address. If the original "
"message's 'From' does not match with the domain whitelist then it is "
"replaced with this value. If does match with the domain whitelist then the "
"original message's 'From' will not change"
msgstr ""
"Definalo para usar un dirección de correo 'De' especifica. Si el 'De' del "
"mensaje original no coincide con la lista blanca de dominios entonces este "
"será remplazado con este valor. Si coincide con la lista blanca de dominios "
"entonces el 'De' del mensajee original no cambiará"
74 changes: 74 additions & 0 deletions mail_outbound_static/i18n/it.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * mail_outbound_static
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 17.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2024-02-04 22:34+0000\n"
"Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
"Language-Team: none\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\n"

#. module: mail_outbound_static
#. odoo-python
#: code:addons/mail_outbound_static/models/ir_mail_server.py:0
msgid ""
"%s is not a valid domain. Please define a list of valid domains separated by "
"comma"
msgstr ""
"%s non è un dominio valido. Definire una lista di domini validi separati da "
"virgola"

#. module: mail_outbound_static
#: model:ir.model.fields,help:mail_outbound_static.field_ir_mail_server__domain_whitelist
msgid ""
"Allowed Domains list separated by commas. If there is not given SMTP server "
"it will let us to search the proper mail server to be used to sent the "
"messages where the message 'From' email domain match with the domain "
"whitelist."
msgstr ""
"Consente elenco domni separati da virgola. Se non è definito un server SMTP "
"si potrà cercare l'appropriato server di posta da utilizzare per inviare "
"messaggi nei quali il dominio del campo 'Da' corrisponde con un dominio "
"autorizzato."

#. module: mail_outbound_static
#: model:ir.model.fields,field_description:mail_outbound_static.field_ir_mail_server__domain_whitelist
msgid "Domain Whitelist"
msgstr "Elenco domini autorizzati"

#. module: mail_outbound_static
#: model:ir.model.fields,field_description:mail_outbound_static.field_ir_mail_server__smtp_from
msgid "Email From"
msgstr "E-mail da"

#. module: mail_outbound_static
#: model:ir.model,name:mail_outbound_static.model_ir_mail_server
msgid "Mail Server"
msgstr "Server di posta"

#. module: mail_outbound_static
#. odoo-python
#: code:addons/mail_outbound_static/models/ir_mail_server.py:0
msgid "Not a valid Email From"
msgstr "Campo e-mail Da non valido"

#. module: mail_outbound_static
#: model:ir.model.fields,help:mail_outbound_static.field_ir_mail_server__smtp_from
msgid ""
"Set this in order to email from a specific address. If the original "
"message's 'From' does not match with the domain whitelist then it is "
"replaced with this value. If does match with the domain whitelist then the "
"original message's 'From' will not change"
msgstr ""
"Impostare per inviare da un indirizzo specifico. Se il campo 'Da' originale "
"del messaggio non corrisponde con il dominio della lista autorizzata allora "
"è sostituito con questo valore. Se corrisponde ad un dominio autorizzato "
"allora il campo 'Da' non cambierà"
61 changes: 61 additions & 0 deletions mail_outbound_static/i18n/mail_outbound_static.pot
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * mail_outbound_static
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"

#. module: mail_outbound_static
#. odoo-python
#: code:addons/mail_outbound_static/models/ir_mail_server.py:0
msgid ""
"%s is not a valid domain. Please define a list of valid domains separated by"
" comma"
msgstr ""

#. module: mail_outbound_static
#: model:ir.model.fields,help:mail_outbound_static.field_ir_mail_server__domain_whitelist
msgid ""
"Allowed Domains list separated by commas. If there is not given SMTP server "
"it will let us to search the proper mail server to be used to sent the "
"messages where the message 'From' email domain match with the domain "
"whitelist."
msgstr ""

#. module: mail_outbound_static
#: model:ir.model.fields,field_description:mail_outbound_static.field_ir_mail_server__domain_whitelist
msgid "Domain Whitelist"
msgstr ""

#. module: mail_outbound_static
#: model:ir.model.fields,field_description:mail_outbound_static.field_ir_mail_server__smtp_from
msgid "Email From"
msgstr ""

#. module: mail_outbound_static
#: model:ir.model,name:mail_outbound_static.model_ir_mail_server
msgid "Mail Server"
msgstr ""

#. module: mail_outbound_static
#. odoo-python
#: code:addons/mail_outbound_static/models/ir_mail_server.py:0
msgid "Not a valid Email From"
msgstr ""

#. module: mail_outbound_static
#: model:ir.model.fields,help:mail_outbound_static.field_ir_mail_server__smtp_from
msgid ""
"Set this in order to email from a specific address. If the original "
"message's 'From' does not match with the domain whitelist then it is "
"replaced with this value. If does match with the domain whitelist then the "
"original message's 'From' will not change"
msgstr ""
Loading