[11.0] [MIG] [fetchmail_notify_error_to_sender] - readme, tests, fix template tech. msg issue

pull/2982/head
Nedas 2018-07-03 22:01:45 +03:00 committed by BT-cjimeno
parent 92a0ecd37c
commit 0d0e31bf16
No known key found for this signature in database
20 changed files with 809 additions and 165 deletions

View File

@ -1,11 +1,30 @@
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
================================
Fetchmail Notify Error to Sender
================================
.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |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/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--tools-lightgray.png?logo=github
:target: https://github.com/OCA/server-tools/tree/11.0/fetchmail_notify_error_to_sender
:alt: OCA/server-tools
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/server-tools-11-0/server-tools-11-0-fetchmail_notify_error_to_sender
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/149/11.0
:alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5|
If fetchmail is not able to correctly route an email, the email is
"silently" lost (you get an error message in server log).
@ -17,6 +36,10 @@ This module extends the functionality of fetchmail to allow you to
automatically send a notification email to sender, when odoo can't
correctly process the received email.
**Table of contents**
.. contents::
:local:
Configuration
=============
@ -26,51 +49,46 @@ To configure this module, you need to:
#. Configure your fetchmail server setting 'Error notice template' = 'Fetchmail - error notice'.
#. You can edit the 'Fetchmail - error notice' email template according to your needs.
.. figure:: path/to/local/image.png
:alt: alternative description
:width: 600 px
Usage
=====
.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
:alt: Try me on Runbot
:target: https://runbot.odoo-community.org/runbot/149/11.0
Bug Tracker
===========
Bugs are tracked on `GitHub Issues
<https://github.com/OCA/server-tools/issues>`_. In case of trouble, please
check there if your issue has already been reported. If you spotted it first,
help us smash it by providing detailed and welcomed feedback.
Bugs are tracked on `GitHub Issues <https://github.com/OCA/server-tools/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/server-tools/issues/new?body=module:%20fetchmail_notify_error_to_sender%0Aversion:%2011.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
=======
Images
------
Authors
~~~~~~~
* Odoo Community Association: `Icon <https://github.com/OCA/maintainer-tools/blob/master/template/module/static/description/icon.svg>`_.
* Agile Business Group
* Eficent
Contributors
------------
~~~~~~~~~~~~
* Lorenzo Battistini <lorenzo.battistini@agilebg.com>
* Miquel Raïch <miquel.raich@eficent.com> (migration to v9 and v10)
* Hai Dinh <haidd.uit@gmail.com> (migration to V11)
* Nedas Zilinskas <nedas.zilinskas@xpansa.com> (Ventor, Xpansa Group <https://ventor.tech/>)
Maintainer
----------
Maintainers
~~~~~~~~~~~
This module is maintained by the OCA.
.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org
This module is maintained by the OCA.
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.
To contribute to this module, please visit https://odoo-community.org.
This module is part of the `OCA/server-tools <https://github.com/OCA/server-tools/tree/11.0/fetchmail_notify_error_to_sender>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

View File

@ -17,7 +17,7 @@
<p>Maybe you used a wrong recipient address?</p>
<p><br/></p>
<p>Technical details:</p>
<p><i>${ctx.get('route_exception').message}</i></p>
<p><i>${ctx.get('route_exception')}</i></p>
</div>
]]></field>
</record>

View File

@ -1,7 +1,7 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * fetchmail_notify_error_to_sender
#
#
# Translators:
# Marc Tormo i Bochaca <mtbochaca@gmail.com>, 2017
msgid ""
@ -12,25 +12,26 @@ msgstr ""
"PO-Revision-Date: 2017-07-15 02:48+0000\n"
"Last-Translator: Marc Tormo i Bochaca <mtbochaca@gmail.com>, 2017\n"
"Language-Team: Catalan (https://www.transifex.com/oca/teams/23907/ca/)\n"
"Language: ca\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: ca\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: fetchmail_notify_error_to_sender
#: model:mail.template,body_html:fetchmail_notify_error_to_sender.email_template_error_notice
msgid ""
"\n"
"<div>\n"
" <p>Hello ${ctx.get('sender_message').get('from')},</p>\n"
" <p>we got a problem with your email: <i>${ctx.get('sender_message').get('subject')}</i></p>\n"
" <p>Maybe you used a wrong recipient address?</p>\n"
" <p><br/></p>\n"
" <p>Technical details:</p>\n"
" <p><i>${ctx.get('route_exception').message}</i></p>\n"
"</div>\n"
" "
" <div>\n"
" <p>Hello ${ctx.get('sender_message').get('from')},</p>\n"
" <p>we got a problem with your email: <i>${ctx."
"get('sender_message').get('subject')}</i></p>\n"
" <p>Maybe you used a wrong recipient address?</p>\n"
" <p><br/></p>\n"
" <p>Technical details:</p>\n"
" <p><i>${ctx.get('route_exception')}</i></p>\n"
" </div>\n"
" "
msgstr ""
#. module: fetchmail_notify_error_to_sender

View File

@ -1,7 +1,7 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * fetchmail_notify_error_to_sender
#
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
@ -12,25 +12,26 @@ msgstr ""
"PO-Revision-Date: 2017-12-01 02:10+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: fetchmail_notify_error_to_sender
#: model:mail.template,body_html:fetchmail_notify_error_to_sender.email_template_error_notice
msgid ""
"\n"
"<div>\n"
" <p>Hello ${ctx.get('sender_message').get('from')},</p>\n"
" <p>we got a problem with your email: <i>${ctx.get('sender_message').get('subject')}</i></p>\n"
" <p>Maybe you used a wrong recipient address?</p>\n"
" <p><br/></p>\n"
" <p>Technical details:</p>\n"
" <p><i>${ctx.get('route_exception').message}</i></p>\n"
"</div>\n"
" "
" <div>\n"
" <p>Hello ${ctx.get('sender_message').get('from')},</p>\n"
" <p>we got a problem with your email: <i>${ctx."
"get('sender_message').get('subject')}</i></p>\n"
" <p>Maybe you used a wrong recipient address?</p>\n"
" <p><br/></p>\n"
" <p>Technical details:</p>\n"
" <p><i>${ctx.get('route_exception')}</i></p>\n"
" </div>\n"
" "
msgstr ""
#. module: fetchmail_notify_error_to_sender

View File

@ -1,7 +1,7 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * fetchmail_notify_error_to_sender
#
#
# Translators:
# Ahmet Altınışık <aaltinisik@altinkaya.com.tr>, 2016
# Antonio Trueba, 2016
@ -40,27 +40,41 @@ msgstr ""
"POT-Creation-Date: 2016-04-14 07:02+0000\n"
"PO-Revision-Date: 2016-04-07 17:54+0000\n"
"Last-Translator: Antonio Trueba\n"
"Language-Team: Spanish (http://www.transifex.com/oca/OCA-server-tools-8-0/language/es/)\n"
"Language-Team: Spanish (http://www.transifex.com/oca/OCA-server-tools-8-0/"
"language/es/)\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: fetchmail_notify_error_to_sender
#: model:mail.template,body_html:fetchmail_notify_error_to_sender.email_template_error_notice
#, fuzzy
msgid ""
"\n"
" <div>\n"
" <p>Hello ${ctx.get('sender_message').get('from')},</p>\n"
" <p>we got a problem with your email: <i>${ctx."
"get('sender_message').get('subject')}</i></p>\n"
" <p>Maybe you used a wrong recipient address?</p>\n"
" <p><br/></p>\n"
" <p>Technical details:</p>\n"
" <p><i>${ctx.get('route_exception')}</i></p>\n"
" </div>\n"
" "
msgstr ""
"\n"
"<div>\n"
" <p>Hello ${ctx.get('sender_message').get('from')},</p>\n"
" <p>we got a problem with your email: <i>${ctx.get('sender_message').get('subject')}</i></p>\n"
" <p>Maybe you used a wrong recipient address?</p>\n"
" <p>Hola ${ctx.get('sender_message').get('from')},</p>\n"
" <p>tenemos un problema con su email: <i>${ctx.get('sender_message')."
"get('subject')}</i></p>\n"
" <p>¿Puede haber usado una dirección de destino incorrecta?</p>\n"
" <p><br/></p>\n"
" <p>Technical details:</p>\n"
" <p>Detalles técnicos:</p>\n"
" <p><i>${ctx.get('route_exception').message}</i></p>\n"
"</div>\n"
" "
msgstr "\n<div>\n <p>Hola ${ctx.get('sender_message').get('from')},</p>\n <p>tenemos un problema con su email: <i>${ctx.get('sender_message').get('subject')}</i></p>\n <p>¿Puede haber usado una dirección de destino incorrecta?</p>\n <p><br/></p>\n <p>Detalles técnicos:</p>\n <p><i>${ctx.get('route_exception').message}</i></p>\n</div>\n "
#. module: fetchmail_notify_error_to_sender
#: model:ir.model,name:fetchmail_notify_error_to_sender.model_mail_thread
@ -68,7 +82,7 @@ msgid "Email Thread"
msgstr "Hilo correo electrónico"
#. module: fetchmail_notify_error_to_sender
#: field:fetchmail.server,error_notice_template_id:0
#: model:ir.model.fields,field_description:fetchmail_notify_error_to_sender.field_fetchmail_server_error_notice_template_id
msgid "Error notice template"
msgstr ""
@ -83,7 +97,7 @@ msgid "Receiving error with: ${ctx.get('sender_message').get('subject')|safe}"
msgstr ""
#. module: fetchmail_notify_error_to_sender
#: help:fetchmail.server,error_notice_template_id:0
#: model:ir.model.fields,help:fetchmail_notify_error_to_sender.field_fetchmail_server_error_notice_template_id
msgid ""
"Set here the template to use to send notice to sender when errors occur "
"while fetching email"

View File

@ -0,0 +1,54 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * fetchmail_notify_error_to_sender
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.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: fetchmail_notify_error_to_sender
#: model:mail.template,body_html:fetchmail_notify_error_to_sender.email_template_error_notice
msgid "\n"
" <div>\n"
" <p>Hello ${ctx.get('sender_message').get('from')},</p>\n"
" <p>we got a problem with your email: <i>${ctx.get('sender_message').get('subject')}</i></p>\n"
" <p>Maybe you used a wrong recipient address?</p>\n"
" <p><br/></p>\n"
" <p>Technical details:</p>\n"
" <p><i>${ctx.get('route_exception')}</i></p>\n"
" </div>\n"
" "
msgstr ""
#. module: fetchmail_notify_error_to_sender
#: model:ir.model,name:fetchmail_notify_error_to_sender.model_mail_thread
msgid "Email Thread"
msgstr ""
#. module: fetchmail_notify_error_to_sender
#: model:ir.model.fields,field_description:fetchmail_notify_error_to_sender.field_fetchmail_server_error_notice_template_id
msgid "Error notice template"
msgstr ""
#. module: fetchmail_notify_error_to_sender
#: model:ir.model,name:fetchmail_notify_error_to_sender.model_fetchmail_server
msgid "POP/IMAP Server"
msgstr ""
#. module: fetchmail_notify_error_to_sender
#: model:mail.template,subject:fetchmail_notify_error_to_sender.email_template_error_notice
msgid "Receiving error with: ${ctx.get('sender_message').get('subject')|safe}"
msgstr ""
#. module: fetchmail_notify_error_to_sender
#: model:ir.model.fields,help:fetchmail_notify_error_to_sender.field_fetchmail_server_error_notice_template_id
msgid "Set here the template to use to send notice to sender when errors occur while fetching email"
msgstr ""

View File

@ -1,7 +1,7 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * fetchmail_notify_error_to_sender
#
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
@ -12,30 +12,33 @@ msgstr ""
"PO-Revision-Date: 2017-07-15 02:48+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: fetchmail_notify_error_to_sender
#: model:mail.template,body_html:fetchmail_notify_error_to_sender.email_template_error_notice
#, fuzzy
msgid ""
"\n"
"<div>\n"
" <p>Hello ${ctx.get('sender_message').get('from')},</p>\n"
" <p>we got a problem with your email: <i>${ctx.get('sender_message').get('subject')}</i></p>\n"
" <p>Maybe you used a wrong recipient address?</p>\n"
" <p><br/></p>\n"
" <p>Technical details:</p>\n"
" <p><i>${ctx.get('route_exception').message}</i></p>\n"
"</div>\n"
" "
" <div>\n"
" <p>Hello ${ctx.get('sender_message').get('from')},</p>\n"
" <p>we got a problem with your email: <i>${ctx."
"get('sender_message').get('subject')}</i></p>\n"
" <p>Maybe you used a wrong recipient address?</p>\n"
" <p><br/></p>\n"
" <p>Technical details:</p>\n"
" <p><i>${ctx.get('route_exception')}</i></p>\n"
" </div>\n"
" "
msgstr ""
"\n"
"<div>\n"
"<p>Bonjour ${ctx.get('sender_message').get('from')},</p>\n"
"<p>nous avons de la difficulté avec votre adresse de courriel: <i>${ctx.get('sender_message').get('subject')}</i></p>\n"
"<p>nous avons de la difficulté avec votre adresse de courriel: <i>${ctx."
"get('sender_message').get('subject')}</i></p>\n"
"<p>Peut-être avez-vous utilisé une mauvaise adresse de destinataire?</p>\n"
"<p><br/></p>\n"
"<p>Détails techniques:</p>\n"

View File

@ -1,7 +1,7 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * fetchmail_notify_error_to_sender
#
#
# Translators:
# Bole <bole@dajmi5.com>, 2017
msgid ""
@ -12,25 +12,27 @@ msgstr ""
"PO-Revision-Date: 2017-07-15 02:48+0000\n"
"Last-Translator: Bole <bole@dajmi5.com>, 2017\n"
"Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n"
"Language: hr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: hr\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
#. module: fetchmail_notify_error_to_sender
#: model:mail.template,body_html:fetchmail_notify_error_to_sender.email_template_error_notice
msgid ""
"\n"
"<div>\n"
" <p>Hello ${ctx.get('sender_message').get('from')},</p>\n"
" <p>we got a problem with your email: <i>${ctx.get('sender_message').get('subject')}</i></p>\n"
" <p>Maybe you used a wrong recipient address?</p>\n"
" <p><br/></p>\n"
" <p>Technical details:</p>\n"
" <p><i>${ctx.get('route_exception').message}</i></p>\n"
"</div>\n"
" "
" <div>\n"
" <p>Hello ${ctx.get('sender_message').get('from')},</p>\n"
" <p>we got a problem with your email: <i>${ctx."
"get('sender_message').get('subject')}</i></p>\n"
" <p>Maybe you used a wrong recipient address?</p>\n"
" <p><br/></p>\n"
" <p>Technical details:</p>\n"
" <p><i>${ctx.get('route_exception')}</i></p>\n"
" </div>\n"
" "
msgstr ""
#. module: fetchmail_notify_error_to_sender

View File

@ -1,7 +1,7 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * fetchmail_notify_error_to_sender
#
#
# Translators:
# Paolo Valier <paolo.valier@hotmail.it>, 2018
msgid ""
@ -12,30 +12,33 @@ msgstr ""
"PO-Revision-Date: 2018-01-06 02:25+0000\n"
"Last-Translator: Paolo Valier <paolo.valier@hotmail.it>, 2018\n"
"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: it\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: fetchmail_notify_error_to_sender
#: model:mail.template,body_html:fetchmail_notify_error_to_sender.email_template_error_notice
#, fuzzy
msgid ""
"\n"
"<div>\n"
" <p>Hello ${ctx.get('sender_message').get('from')},</p>\n"
" <p>we got a problem with your email: <i>${ctx.get('sender_message').get('subject')}</i></p>\n"
" <p>Maybe you used a wrong recipient address?</p>\n"
" <p><br/></p>\n"
" <p>Technical details:</p>\n"
" <p><i>${ctx.get('route_exception').message}</i></p>\n"
"</div>\n"
" "
" <div>\n"
" <p>Hello ${ctx.get('sender_message').get('from')},</p>\n"
" <p>we got a problem with your email: <i>${ctx."
"get('sender_message').get('subject')}</i></p>\n"
" <p>Maybe you used a wrong recipient address?</p>\n"
" <p><br/></p>\n"
" <p>Technical details:</p>\n"
" <p><i>${ctx.get('route_exception')}</i></p>\n"
" </div>\n"
" "
msgstr ""
"\n"
"<div>\n"
" <p>Salve ${ctx.get('sender_message').get('from')},</p>\n"
" <p>abbiamo avuto un problema con la tua mail: <i>${ctx.get('sender_message').get('subject')}</i></p>\n"
" <p>abbiamo avuto un problema con la tua mail: <i>${ctx."
"get('sender_message').get('subject')}</i></p>\n"
" <p>Forse hai usato un indirizzo errato?</p>\n"
" <p><br/></p>\n"
" <p>Dettagli tecnici:</p>\n"
@ -61,8 +64,7 @@ msgstr "Server POP/IMAP"
#. module: fetchmail_notify_error_to_sender
#: model:mail.template,subject:fetchmail_notify_error_to_sender.email_template_error_notice
msgid "Receiving error with: ${ctx.get('sender_message').get('subject')|safe}"
msgstr ""
"Ricezione errore con: ${ctx.get('sender_message').get('subject')|safe}"
msgstr "Ricezione errore con: ${ctx.get('sender_message').get('subject')|safe}"
#. module: fetchmail_notify_error_to_sender
#: model:ir.model.fields,help:fetchmail_notify_error_to_sender.field_fetchmail_server_error_notice_template_id
@ -70,5 +72,5 @@ msgid ""
"Set here the template to use to send notice to sender when errors occur "
"while fetching email"
msgstr ""
"Imposta qui il template da usare per inviare una notifica al mittente quando"
" si verificano errori durante il recupero dell'e-mail"
"Imposta qui il template da usare per inviare una notifica al mittente quando "
"si verificano errori durante il recupero dell'e-mail"

View File

@ -1,7 +1,7 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * fetchmail_notify_error_to_sender
#
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
@ -11,26 +11,28 @@ msgstr ""
"POT-Creation-Date: 2017-12-01 02:10+0000\n"
"PO-Revision-Date: 2017-12-01 02:10+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/23907/pt_BR/)\n"
"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/"
"teams/23907/pt_BR/)\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: pt_BR\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: fetchmail_notify_error_to_sender
#: model:mail.template,body_html:fetchmail_notify_error_to_sender.email_template_error_notice
msgid ""
"\n"
"<div>\n"
" <p>Hello ${ctx.get('sender_message').get('from')},</p>\n"
" <p>we got a problem with your email: <i>${ctx.get('sender_message').get('subject')}</i></p>\n"
" <p>Maybe you used a wrong recipient address?</p>\n"
" <p><br/></p>\n"
" <p>Technical details:</p>\n"
" <p><i>${ctx.get('route_exception').message}</i></p>\n"
"</div>\n"
" "
" <div>\n"
" <p>Hello ${ctx.get('sender_message').get('from')},</p>\n"
" <p>we got a problem with your email: <i>${ctx."
"get('sender_message').get('subject')}</i></p>\n"
" <p>Maybe you used a wrong recipient address?</p>\n"
" <p><br/></p>\n"
" <p>Technical details:</p>\n"
" <p><i>${ctx.get('route_exception')}</i></p>\n"
" </div>\n"
" "
msgstr ""
#. module: fetchmail_notify_error_to_sender

View File

@ -1,7 +1,7 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * fetchmail_notify_error_to_sender
#
#
# Translators:
msgid ""
msgstr ""
@ -10,26 +10,28 @@ msgstr ""
"POT-Creation-Date: 2016-09-16 09:29+0000\n"
"PO-Revision-Date: 2015-09-18 13:55+0000\n"
"Last-Translator: <>\n"
"Language-Team: Portuguese (Portugal) (http://www.transifex.com/oca/OCA-server-tools-8-0/language/pt_PT/)\n"
"Language-Team: Portuguese (Portugal) (http://www.transifex.com/oca/OCA-"
"server-tools-8-0/language/pt_PT/)\n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: pt_PT\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: fetchmail_notify_error_to_sender
#: model:mail.template,body_html:fetchmail_notify_error_to_sender.email_template_error_notice
msgid ""
"\n"
"<div>\n"
" <p>Hello ${ctx.get('sender_message').get('from')},</p>\n"
" <p>we got a problem with your email: <i>${ctx.get('sender_message').get('subject')}</i></p>\n"
" <p>Maybe you used a wrong recipient address?</p>\n"
" <p><br/></p>\n"
" <p>Technical details:</p>\n"
" <p><i>${ctx.get('route_exception').message}</i></p>\n"
"</div>\n"
" "
" <div>\n"
" <p>Hello ${ctx.get('sender_message').get('from')},</p>\n"
" <p>we got a problem with your email: <i>${ctx."
"get('sender_message').get('subject')}</i></p>\n"
" <p>Maybe you used a wrong recipient address?</p>\n"
" <p><br/></p>\n"
" <p>Technical details:</p>\n"
" <p><i>${ctx.get('route_exception')}</i></p>\n"
" </div>\n"
" "
msgstr ""
#. module: fetchmail_notify_error_to_sender
@ -38,7 +40,7 @@ msgid "Email Thread"
msgstr "Tópico de Email"
#. module: fetchmail_notify_error_to_sender
#: field:fetchmail.server,error_notice_template_id:0
#: model:ir.model.fields,field_description:fetchmail_notify_error_to_sender.field_fetchmail_server_error_notice_template_id
msgid "Error notice template"
msgstr ""
@ -53,7 +55,7 @@ msgid "Receiving error with: ${ctx.get('sender_message').get('subject')|safe}"
msgstr ""
#. module: fetchmail_notify_error_to_sender
#: help:fetchmail.server,error_notice_template_id:0
#: model:ir.model.fields,help:fetchmail_notify_error_to_sender.field_fetchmail_server_error_notice_template_id
msgid ""
"Set here the template to use to send notice to sender when errors occur "
"while fetching email"

View File

@ -1,7 +1,7 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * fetchmail_notify_error_to_sender
#
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
@ -12,25 +12,27 @@ msgstr ""
"PO-Revision-Date: 2017-12-01 02:10+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n"
"Language: sl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: sl\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
"%100==4 ? 2 : 3);\n"
#. module: fetchmail_notify_error_to_sender
#: model:mail.template,body_html:fetchmail_notify_error_to_sender.email_template_error_notice
msgid ""
"\n"
"<div>\n"
" <p>Hello ${ctx.get('sender_message').get('from')},</p>\n"
" <p>we got a problem with your email: <i>${ctx.get('sender_message').get('subject')}</i></p>\n"
" <p>Maybe you used a wrong recipient address?</p>\n"
" <p><br/></p>\n"
" <p>Technical details:</p>\n"
" <p><i>${ctx.get('route_exception').message}</i></p>\n"
"</div>\n"
" "
" <div>\n"
" <p>Hello ${ctx.get('sender_message').get('from')},</p>\n"
" <p>we got a problem with your email: <i>${ctx."
"get('sender_message').get('subject')}</i></p>\n"
" <p>Maybe you used a wrong recipient address?</p>\n"
" <p><br/></p>\n"
" <p>Technical details:</p>\n"
" <p><i>${ctx.get('route_exception')}</i></p>\n"
" </div>\n"
" "
msgstr ""
#. module: fetchmail_notify_error_to_sender

View File

@ -1,7 +1,7 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * fetchmail_notify_error_to_sender
#
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
@ -12,30 +12,33 @@ msgstr ""
"PO-Revision-Date: 2017-07-15 02:48+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Turkish (https://www.transifex.com/oca/teams/23907/tr/)\n"
"Language: tr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: tr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: fetchmail_notify_error_to_sender
#: model:mail.template,body_html:fetchmail_notify_error_to_sender.email_template_error_notice
#, fuzzy
msgid ""
"\n"
"<div>\n"
" <p>Hello ${ctx.get('sender_message').get('from')},</p>\n"
" <p>we got a problem with your email: <i>${ctx.get('sender_message').get('subject')}</i></p>\n"
" <p>Maybe you used a wrong recipient address?</p>\n"
" <p><br/></p>\n"
" <p>Technical details:</p>\n"
" <p><i>${ctx.get('route_exception').message}</i></p>\n"
"</div>\n"
" "
" <div>\n"
" <p>Hello ${ctx.get('sender_message').get('from')},</p>\n"
" <p>we got a problem with your email: <i>${ctx."
"get('sender_message').get('subject')}</i></p>\n"
" <p>Maybe you used a wrong recipient address?</p>\n"
" <p><br/></p>\n"
" <p>Technical details:</p>\n"
" <p><i>${ctx.get('route_exception')}</i></p>\n"
" </div>\n"
" "
msgstr ""
"\n"
"<div>\n"
" <p>Merhaba ${ctx.get('sender_message').get('from')},</p>\n"
" <p>E-postanız ile ilgili bir problem var: <i>${ctx.get('sender_message').get('subject')}</i></p>\n"
" <p>E-postanız ile ilgili bir problem var: <i>${ctx.get('sender_message')."
"get('subject')}</i></p>\n"
" <p>Belki alıcı adresi yanlıştır?</p>\n"
" <p><br/></p>\n"
" <p>Teknik detaylar:</p>\n"
@ -69,5 +72,5 @@ msgid ""
"Set here the template to use to send notice to sender when errors occur "
"while fetching email"
msgstr ""
"E-posta alınırken oluşan hatalarda gönderilecek bildirim mesajı için şablonu"
" belirleyin."
"E-posta alınırken oluşan hatalarda gönderilecek bildirim mesajı için şablonu "
"belirleyin."

View File

@ -1,7 +1,7 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * fetchmail_notify_error_to_sender
#
#
# Translators:
# Jeffery CHEN <jeffery9@gmail.com>, 2017
msgid ""
@ -11,26 +11,28 @@ msgstr ""
"POT-Creation-Date: 2017-07-15 02:48+0000\n"
"PO-Revision-Date: 2017-07-15 02:48+0000\n"
"Last-Translator: Jeffery CHEN <jeffery9@gmail.com>, 2017\n"
"Language-Team: Chinese (China) (https://www.transifex.com/oca/teams/23907/zh_CN/)\n"
"Language-Team: Chinese (China) (https://www.transifex.com/oca/teams/23907/"
"zh_CN/)\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: zh_CN\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: fetchmail_notify_error_to_sender
#: model:mail.template,body_html:fetchmail_notify_error_to_sender.email_template_error_notice
msgid ""
"\n"
"<div>\n"
" <p>Hello ${ctx.get('sender_message').get('from')},</p>\n"
" <p>we got a problem with your email: <i>${ctx.get('sender_message').get('subject')}</i></p>\n"
" <p>Maybe you used a wrong recipient address?</p>\n"
" <p><br/></p>\n"
" <p>Technical details:</p>\n"
" <p><i>${ctx.get('route_exception').message}</i></p>\n"
"</div>\n"
" "
" <div>\n"
" <p>Hello ${ctx.get('sender_message').get('from')},</p>\n"
" <p>we got a problem with your email: <i>${ctx."
"get('sender_message').get('subject')}</i></p>\n"
" <p>Maybe you used a wrong recipient address?</p>\n"
" <p><br/></p>\n"
" <p>Technical details:</p>\n"
" <p><i>${ctx.get('route_exception')}</i></p>\n"
" </div>\n"
" "
msgstr ""
#. module: fetchmail_notify_error_to_sender

View File

@ -0,0 +1,4 @@
To configure this module, you need to:
#. Configure your fetchmail server setting 'Error notice template' = 'Fetchmail - error notice'.
#. You can edit the 'Fetchmail - error notice' email template according to your needs.

View File

@ -0,0 +1,4 @@
* Lorenzo Battistini <lorenzo.battistini@agilebg.com>
* Miquel Raïch <miquel.raich@eficent.com> (migration to v9 and v10)
* Hai Dinh <haidd.uit@gmail.com> (migration to V11)
* Nedas Zilinskas <nedas.zilinskas@xpansa.com> (Ventor, Xpansa Group <https://ventor.tech/>)

View File

@ -0,0 +1,10 @@
If fetchmail is not able to correctly route an email, the email is
"silently" lost (you get an error message in server log).
For example, if you configure odoo mail system to route received emails
according to recipient address, it may happen users send emails to wrong
email address.
This module extends the functionality of fetchmail to allow you to
automatically send a notification email to sender, when odoo can't
correctly process the received email.

View File

@ -0,0 +1,439 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.14: http://docutils.sourceforge.net/" />
<title>Fetchmail Notify Error to Sender</title>
<style type="text/css">
/*
:Author: David Goodger (goodger@python.org)
:Id: $Id: html4css1.css 7952 2016-07-26 18:15:59Z milde $
:Copyright: This stylesheet has been placed in the public domain.
Default cascading style sheet for the HTML output of Docutils.
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
customize this style sheet.
*/
/* used to remove borders from tables and images */
.borderless, table.borderless td, table.borderless th {
border: 0 }
table.borderless td, table.borderless th {
/* Override padding for "table.docutils td" with "! important".
The right padding separates the table cells. */
padding: 0 0.5em 0 0 ! important }
.first {
/* Override more specific margin styles with "! important". */
margin-top: 0 ! important }
.last, .with-subtitle {
margin-bottom: 0 ! important }
.hidden {
display: none }
.subscript {
vertical-align: sub;
font-size: smaller }
.superscript {
vertical-align: super;
font-size: smaller }
a.toc-backref {
text-decoration: none ;
color: black }
blockquote.epigraph {
margin: 2em 5em ; }
dl.docutils dd {
margin-bottom: 0.5em }
object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
overflow: hidden;
}
/* Uncomment (and remove this text!) to get bold-faced definition list terms
dl.docutils dt {
font-weight: bold }
*/
div.abstract {
margin: 2em 5em }
div.abstract p.topic-title {
font-weight: bold ;
text-align: center }
div.admonition, div.attention, div.caution, div.danger, div.error,
div.hint, div.important, div.note, div.tip, div.warning {
margin: 2em ;
border: medium outset ;
padding: 1em }
div.admonition p.admonition-title, div.hint p.admonition-title,
div.important p.admonition-title, div.note p.admonition-title,
div.tip p.admonition-title {
font-weight: bold ;
font-family: sans-serif }
div.attention p.admonition-title, div.caution p.admonition-title,
div.danger p.admonition-title, div.error p.admonition-title,
div.warning p.admonition-title, .code .error {
color: red ;
font-weight: bold ;
font-family: sans-serif }
/* Uncomment (and remove this text!) to get reduced vertical space in
compound paragraphs.
div.compound .compound-first, div.compound .compound-middle {
margin-bottom: 0.5em }
div.compound .compound-last, div.compound .compound-middle {
margin-top: 0.5em }
*/
div.dedication {
margin: 2em 5em ;
text-align: center ;
font-style: italic }
div.dedication p.topic-title {
font-weight: bold ;
font-style: normal }
div.figure {
margin-left: 2em ;
margin-right: 2em }
div.footer, div.header {
clear: both;
font-size: smaller }
div.line-block {
display: block ;
margin-top: 1em ;
margin-bottom: 1em }
div.line-block div.line-block {
margin-top: 0 ;
margin-bottom: 0 ;
margin-left: 1.5em }
div.sidebar {
margin: 0 0 0.5em 1em ;
border: medium outset ;
padding: 1em ;
background-color: #ffffee ;
width: 40% ;
float: right ;
clear: right }
div.sidebar p.rubric {
font-family: sans-serif ;
font-size: medium }
div.system-messages {
margin: 5em }
div.system-messages h1 {
color: red }
div.system-message {
border: medium outset ;
padding: 1em }
div.system-message p.system-message-title {
color: red ;
font-weight: bold }
div.topic {
margin: 2em }
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
margin-top: 0.4em }
h1.title {
text-align: center }
h2.subtitle {
text-align: center }
hr.docutils {
width: 75% }
img.align-left, .figure.align-left, object.align-left, table.align-left {
clear: left ;
float: left ;
margin-right: 1em }
img.align-right, .figure.align-right, object.align-right, table.align-right {
clear: right ;
float: right ;
margin-left: 1em }
img.align-center, .figure.align-center, object.align-center {
display: block;
margin-left: auto;
margin-right: auto;
}
table.align-center {
margin-left: auto;
margin-right: auto;
}
.align-left {
text-align: left }
.align-center {
clear: both ;
text-align: center }
.align-right {
text-align: right }
/* reset inner alignment in figures */
div.align-right {
text-align: inherit }
/* div.align-center * { */
/* text-align: left } */
.align-top {
vertical-align: top }
.align-middle {
vertical-align: middle }
.align-bottom {
vertical-align: bottom }
ol.simple, ul.simple {
margin-bottom: 1em }
ol.arabic {
list-style: decimal }
ol.loweralpha {
list-style: lower-alpha }
ol.upperalpha {
list-style: upper-alpha }
ol.lowerroman {
list-style: lower-roman }
ol.upperroman {
list-style: upper-roman }
p.attribution {
text-align: right ;
margin-left: 50% }
p.caption {
font-style: italic }
p.credits {
font-style: italic ;
font-size: smaller }
p.label {
white-space: nowrap }
p.rubric {
font-weight: bold ;
font-size: larger ;
color: maroon ;
text-align: center }
p.sidebar-title {
font-family: sans-serif ;
font-weight: bold ;
font-size: larger }
p.sidebar-subtitle {
font-family: sans-serif ;
font-weight: bold }
p.topic-title {
font-weight: bold }
pre.address {
margin-bottom: 0 ;
margin-top: 0 ;
font: inherit }
pre.literal-block, pre.doctest-block, pre.math, pre.code {
margin-left: 2em ;
margin-right: 2em }
pre.code .ln { color: grey; } /* line numbers */
pre.code, code { background-color: #eeeeee }
pre.code .comment, code .comment { color: #5C6576 }
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
pre.code .literal.string, code .literal.string { color: #0C5404 }
pre.code .name.builtin, code .name.builtin { color: #352B84 }
pre.code .deleted, code .deleted { background-color: #DEB0A1}
pre.code .inserted, code .inserted { background-color: #A3D289}
span.classifier {
font-family: sans-serif ;
font-style: oblique }
span.classifier-delimiter {
font-family: sans-serif ;
font-weight: bold }
span.interpreted {
font-family: sans-serif }
span.option {
white-space: nowrap }
span.pre {
white-space: pre }
span.problematic {
color: red }
span.section-subtitle {
/* font-size relative to parent (h1..h6 element) */
font-size: 80% }
table.citation {
border-left: solid 1px gray;
margin-left: 1px }
table.docinfo {
margin: 2em 4em }
table.docutils {
margin-top: 0.5em ;
margin-bottom: 0.5em }
table.footnote {
border-left: solid 1px black;
margin-left: 1px }
table.docutils td, table.docutils th,
table.docinfo td, table.docinfo th {
padding-left: 0.5em ;
padding-right: 0.5em ;
vertical-align: top }
table.docutils th.field-name, table.docinfo th.docinfo-name {
font-weight: bold ;
text-align: left ;
white-space: nowrap ;
padding-left: 0 }
/* "booktabs" style (no vertical lines) */
table.docutils.booktabs {
border: 0px;
border-top: 2px solid;
border-bottom: 2px solid;
border-collapse: collapse;
}
table.docutils.booktabs * {
border: 0px;
}
table.docutils.booktabs th {
border-bottom: thin solid;
text-align: left;
}
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
font-size: 100% }
ul.auto-toc {
list-style-type: none }
</style>
</head>
<body>
<div class="document" id="fetchmail-notify-error-to-sender">
<h1 class="title">Fetchmail Notify Error to Sender</h1>
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/server-tools/tree/11.0/fetchmail_notify_error_to_sender"><img alt="OCA/server-tools" src="https://img.shields.io/badge/github-OCA%2Fserver--tools-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/server-tools-11-0/server-tools-11-0-fetchmail_notify_error_to_sender"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/149/11.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
<p>If fetchmail is not able to correctly route an email, the email is
“silently” lost (you get an error message in server log).</p>
<p>For example, if you configure odoo mail system to route received emails
according to recipient address, it may happen users send emails to wrong
email address.</p>
<p>This module extends the functionality of fetchmail to allow you to
automatically send a notification email to sender, when odoo cant
correctly process the received email.</p>
<p><strong>Table of contents</strong></p>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><a class="reference internal" href="#configuration" id="id1">Configuration</a></li>
<li><a class="reference internal" href="#bug-tracker" id="id2">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="id3">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="id4">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="id5">Contributors</a></li>
<li><a class="reference internal" href="#maintainers" id="id6">Maintainers</a></li>
</ul>
</li>
</ul>
</div>
<div class="section" id="configuration">
<h1><a class="toc-backref" href="#id1">Configuration</a></h1>
<p>To configure this module, you need to:</p>
<ol class="arabic simple">
<li>Configure your fetchmail server setting Error notice template = Fetchmail - error notice.</li>
<li>You can edit the Fetchmail - error notice email template according to your needs.</li>
</ol>
</div>
<div class="section" id="bug-tracker">
<h1><a class="toc-backref" href="#id2">Bug Tracker</a></h1>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/server-tools/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/OCA/server-tools/issues/new?body=module:%20fetchmail_notify_error_to_sender%0Aversion:%2011.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p>
</div>
<div class="section" id="credits">
<h1><a class="toc-backref" href="#id3">Credits</a></h1>
<div class="section" id="authors">
<h2><a class="toc-backref" href="#id4">Authors</a></h2>
<ul class="simple">
<li>Agile Business Group</li>
<li>Eficent</li>
</ul>
</div>
<div class="section" id="contributors">
<h2><a class="toc-backref" href="#id5">Contributors</a></h2>
<ul class="simple">
<li>Lorenzo Battistini &lt;<a class="reference external" href="mailto:lorenzo.battistini&#64;agilebg.com">lorenzo.battistini&#64;agilebg.com</a>&gt;</li>
<li>Miquel Raïch &lt;<a class="reference external" href="mailto:miquel.raich&#64;eficent.com">miquel.raich&#64;eficent.com</a>&gt; (migration to v9 and v10)</li>
<li>Hai Dinh &lt;<a class="reference external" href="mailto:haidd.uit&#64;gmail.com">haidd.uit&#64;gmail.com</a>&gt; (migration to V11)</li>
<li>Nedas Zilinskas &lt;<a class="reference external" href="mailto:nedas.zilinskas&#64;xpansa.com">nedas.zilinskas&#64;xpansa.com</a>&gt; (Ventor, Xpansa Group &lt;<a class="reference external" href="https://ventor.tech/">https://ventor.tech/</a>&gt;)</li>
</ul>
</div>
<div class="section" id="maintainers">
<h2><a class="toc-backref" href="#id6">Maintainers</a></h2>
<p>This module is maintained by the OCA.</p>
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
<p>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.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/server-tools/tree/11.0/fetchmail_notify_error_to_sender">OCA/server-tools</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,3 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from . import test_fetchmail_notify_error_to_sender

View File

@ -0,0 +1,78 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
import socket
from odoo.addons.mail.tests.common import TestMail
from odoo.addons.mail.tests.test_mail_gateway import MAIL_TEMPLATE
from odoo.tools import mute_logger
class TestFetchmailNotifyErrorToSender(TestMail):
def setUp(self):
super(TestFetchmailNotifyErrorToSender, self).setUp()
self.fetchmail_server = self.env['fetchmail.server'].create({
'name': 'Test Fetchmail Server',
'type': 'imap',
'error_notice_template_id': self.env.ref('%s.%s' % (
'fetchmail_notify_error_to_sender',
'email_template_error_notice',
)).id
})
def format_and_process_with_context(
self, template, to_email='groups@example.com, other@gmail.com',
subject='Frogs', extra='',
email_from='Sylvie Lelitre <test.sylvie.lelitre@agrolait.com>',
cc_email='',
msg_id='<1198923581.41972151344608186760.JavaMail@agrolait.com>',
model=None, target_model='mail.test', target_field='name', ctx=False,
):
self.assertFalse(self.env[target_model].search([
(target_field, '=', subject),
]))
mail = template.format(
to=to_email,
subject=subject,
cc=cc_email,
extra=extra,
email_from=email_from,
msg_id=msg_id,
)
self.env['mail.thread'].with_context(ctx or {}).message_process(
model,
mail,
)
return self.env[target_model].search([(target_field, '=', subject)])
@mute_logger('odoo.addons.mail.models.mail_thread', 'odoo.models')
def test_message_process(self):
email_from = 'valid.lelitre@agrolait.com'
count_return_mails_before = self.env['mail.mail'].search_count([
('email_to', '=', email_from),
])
with self.assertRaises(ValueError):
self.format_and_process_with_context(
MAIL_TEMPLATE,
email_from=email_from,
to_email='noone@example.com',
subject='spam',
extra='In-Reply-To: <12321321-openerp-%d-mail.test@%s>' % (
self.test_public.id,
socket.gethostname(),
),
ctx={
'fetchmail_server_id': self.fetchmail_server.id,
}
)
count_return_mails_after = self.env['mail.mail'].search_count([
('email_to', '=', email_from),
])
self.assertEqual(
count_return_mails_after,
count_return_mails_before + 1,
)