diff --git a/fetchmail_notify_error_to_sender/README.rst b/fetchmail_notify_error_to_sender/README.rst new file mode 100644 index 000000000..a83bfea57 --- /dev/null +++ b/fetchmail_notify_error_to_sender/README.rst @@ -0,0 +1,94 @@ +================================ +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/12.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-12-0/server-tools-12-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/12.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). + +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. + +**Table of contents** + +.. contents:: + :local: + +Configuration +============= + +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. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub 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 `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Agile Business Group +* Eficent + +Contributors +~~~~~~~~~~~~ + +* Lorenzo Battistini +* Miquel Raïch (migration to v9 and v10) +* Hai Dinh (migration to V11) +* Nedas Zilinskas (Ventor, Xpansa Group ) + +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/server-tools `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/fetchmail_notify_error_to_sender/__init__.py b/fetchmail_notify_error_to_sender/__init__.py new file mode 100644 index 000000000..69f7babdf --- /dev/null +++ b/fetchmail_notify_error_to_sender/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import models diff --git a/fetchmail_notify_error_to_sender/__manifest__.py b/fetchmail_notify_error_to_sender/__manifest__.py new file mode 100644 index 000000000..c68e034d2 --- /dev/null +++ b/fetchmail_notify_error_to_sender/__manifest__.py @@ -0,0 +1,27 @@ +# Copyright 2015 Lorenzo Battistini +# Copyright 2017 Eficent +# Copyright 2018 Hai Dinh +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + 'name': 'Fetchmail Notify Error to Sender', + 'summary': 'If fetching mails gives error, send an email to sender', + 'version': '12.0.1.0.0', + 'category': 'Tools', + 'author': + "Agile Business Group,Eficent,Odoo Community Association (OCA)", + 'website': 'https://github.com/OCA/server-tools', + 'license': 'AGPL-3', + 'depends': [ + 'fetchmail', + 'test_mail', + ], + 'data': [ + 'views/fetchmail_view.xml', + 'data/email_template_data.xml', + ], + 'qweb': [ + ], + 'installable': True, + 'application': False, +} diff --git a/fetchmail_notify_error_to_sender/data/email_template_data.xml b/fetchmail_notify_error_to_sender/data/email_template_data.xml new file mode 100644 index 000000000..d85ba35c7 --- /dev/null +++ b/fetchmail_notify_error_to_sender/data/email_template_data.xml @@ -0,0 +1,24 @@ + + + + + Fetchmail - error notice + ${ctx.get('sender_message').get('to')|safe} + ${ctx.get('sender_message').get('from')|safe} + Receiving error with: ${ctx.get('sender_message').get('subject')|safe} + + + + ${ctx.get('lang')} + +

Hello ${ctx.get('sender_message').get('from')},

+

we got a problem with your email: ${ctx.get('sender_message').get('subject')}

+

Maybe you used a wrong recipient address?

+


+

Technical details:

+

${ctx.get('route_exception')}

+ + ]]>
+
+
diff --git a/fetchmail_notify_error_to_sender/i18n/ca.po b/fetchmail_notify_error_to_sender/i18n/ca.po new file mode 100644 index 000000000..8dd65f68d --- /dev/null +++ b/fetchmail_notify_error_to_sender/i18n/ca.po @@ -0,0 +1,62 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fetchmail_notify_error_to_sender +# +# Translators: +# Marc Tormo i Bochaca , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-15 02:48+0000\n" +"PO-Revision-Date: 2017-07-15 02:48+0000\n" +"Last-Translator: Marc Tormo i Bochaca , 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" +"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" +"
\n" +"

Hello ${ctx.get('sender_message').get('from')},

\n" +"

we got a problem with your email: ${ctx." +"get('sender_message').get('subject')}

\n" +"

Maybe you used a wrong recipient address?

\n" +"


\n" +"

Technical details:

\n" +"

${ctx.get('route_exception')}

\n" +"
\n" +" " +msgstr "" + +#. module: fetchmail_notify_error_to_sender +#: model:ir.model,name:fetchmail_notify_error_to_sender.model_mail_thread +msgid "Email Thread" +msgstr "Tema del Correu electrònic " + +#. 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 "Servidor 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 "" + +#. 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 "" diff --git a/fetchmail_notify_error_to_sender/i18n/de.po b/fetchmail_notify_error_to_sender/i18n/de.po new file mode 100644 index 000000000..0aad357f2 --- /dev/null +++ b/fetchmail_notify_error_to_sender/i18n/de.po @@ -0,0 +1,62 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fetchmail_notify_error_to_sender +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-01 02:10+0000\n" +"PO-Revision-Date: 2017-12-01 02:10+0000\n" +"Last-Translator: OCA Transbot , 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" +"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" +"
\n" +"

Hello ${ctx.get('sender_message').get('from')},

\n" +"

we got a problem with your email: ${ctx." +"get('sender_message').get('subject')}

\n" +"

Maybe you used a wrong recipient address?

\n" +"


\n" +"

Technical details:

\n" +"

${ctx.get('route_exception')}

\n" +"
\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 "POP/IMAP-Server" + +#. 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 "" diff --git a/fetchmail_notify_error_to_sender/i18n/es.po b/fetchmail_notify_error_to_sender/i18n/es.po new file mode 100644 index 000000000..2bf299d00 --- /dev/null +++ b/fetchmail_notify_error_to_sender/i18n/es.po @@ -0,0 +1,104 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fetchmail_notify_error_to_sender +# +# Translators: +# Ahmet Altınışık , 2016 +# Antonio Trueba, 2016 +# Antonio Trueba, 2016 +# bossnm11 , 2014 +# Carles Antoli , 2015 +# Chanseok , 2014 +# Chul Park , 2015 +# David10000 , 2014 +# FIRST AUTHOR , 2012-2013 +# Gil , 2014 +# Hongseob Lee , 2015 +# Hongseob Lee , 2015 +# Hotellook, 2014 +# jeon , 2014 +# JiyeonLee , 2014 +# Jong-Dae Park , 2013 +# Kevin Min , 2015 +# KimKyudong , 2014 +# mariana1201 , 2014 +# Matjaž Mozetič , 2015-2016 +# Nicole , 2014 +# Paolo Valier, 2016 +# Pope, 2014 +# Rudolf Schnapka , 2016 +# Sarina Canelake , 2014 +# Seok Jun Yoon , 2015 +# shin2012 , 2014 +# Sujin Lee , 2014 +# Sunah Lim , 2013 +# Young Kim , 2015 +msgid "" +msgstr "" +"Project-Id-Version: server-tools (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"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: es\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" + +#. module: fetchmail_notify_error_to_sender +#: model:mail.template,body_html:fetchmail_notify_error_to_sender.email_template_error_notice +#, fuzzy +msgid "" +"\n" +"
\n" +"

Hello ${ctx.get('sender_message').get('from')},

\n" +"

we got a problem with your email: ${ctx." +"get('sender_message').get('subject')}

\n" +"

Maybe you used a wrong recipient address?

\n" +"


\n" +"

Technical details:

\n" +"

${ctx.get('route_exception')}

\n" +"
\n" +" " +msgstr "" +"\n" +"
\n" +"

Hola ${ctx.get('sender_message').get('from')},

\n" +"

tenemos un problema con su email: ${ctx.get('sender_message')." +"get('subject')}

\n" +"

¿Puede haber usado una dirección de destino incorrecta?

\n" +"


\n" +"

Detalles técnicos:

\n" +"

${ctx.get('route_exception').message}

\n" +"
\n" +" " + +#. module: fetchmail_notify_error_to_sender +#: model:ir.model,name:fetchmail_notify_error_to_sender.model_mail_thread +msgid "Email Thread" +msgstr "Hilo correo electrónico" + +#. 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 "Servidor 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 "" + +#. 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 "" diff --git a/fetchmail_notify_error_to_sender/i18n/fetchmail_notify_error_to_sender.pot b/fetchmail_notify_error_to_sender/i18n/fetchmail_notify_error_to_sender.pot new file mode 100644 index 000000000..acce4e95a --- /dev/null +++ b/fetchmail_notify_error_to_sender/i18n/fetchmail_notify_error_to_sender.pot @@ -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" +"
\n" +"

Hello ${ctx.get('sender_message').get('from')},

\n" +"

we got a problem with your email: ${ctx.get('sender_message').get('subject')}

\n" +"

Maybe you used a wrong recipient address?

\n" +"


\n" +"

Technical details:

\n" +"

${ctx.get('route_exception')}

\n" +"
\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 "" + diff --git a/fetchmail_notify_error_to_sender/i18n/fr.po b/fetchmail_notify_error_to_sender/i18n/fr.po new file mode 100644 index 000000000..bff5d8789 --- /dev/null +++ b/fetchmail_notify_error_to_sender/i18n/fr.po @@ -0,0 +1,76 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fetchmail_notify_error_to_sender +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-15 02:48+0000\n" +"PO-Revision-Date: 2017-07-15 02:48+0000\n" +"Last-Translator: OCA Transbot , 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" +"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" +"
\n" +"

Hello ${ctx.get('sender_message').get('from')},

\n" +"

we got a problem with your email: ${ctx." +"get('sender_message').get('subject')}

\n" +"

Maybe you used a wrong recipient address?

\n" +"


\n" +"

Technical details:

\n" +"

${ctx.get('route_exception')}

\n" +"
\n" +" " +msgstr "" +"\n" +"
\n" +"

Bonjour ${ctx.get('sender_message').get('from')},

\n" +"

nous avons de la difficulté avec votre adresse de courriel: ${ctx." +"get('sender_message').get('subject')}

\n" +"

Peut-être avez-vous utilisé une mauvaise adresse de destinataire?

\n" +"


\n" +"

Détails techniques:

\n" +"

${ctx.get('route_exception').message}

\n" +"
" + +#. module: fetchmail_notify_error_to_sender +#: model:ir.model,name:fetchmail_notify_error_to_sender.model_mail_thread +msgid "Email Thread" +msgstr "Discussion de courriel" + +#. 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 "Erreur dans le modèle de notice" + +#. module: fetchmail_notify_error_to_sender +#: model:ir.model,name:fetchmail_notify_error_to_sender.model_fetchmail_server +msgid "POP/IMAP Server" +msgstr "Serveur 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 "" +"Reçu une erreur avec : ${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 +msgid "" +"Set here the template to use to send notice to sender when errors occur " +"while fetching email" +msgstr "" +"Choisissez ici le modèle à utiliser pour informer l'expéditeur lorsque des " +"erreurs surviennent lors de la récupération du courriel. " diff --git a/fetchmail_notify_error_to_sender/i18n/hr.po b/fetchmail_notify_error_to_sender/i18n/hr.po new file mode 100644 index 000000000..a5f844993 --- /dev/null +++ b/fetchmail_notify_error_to_sender/i18n/hr.po @@ -0,0 +1,63 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fetchmail_notify_error_to_sender +# +# Translators: +# Bole , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-15 02:48+0000\n" +"PO-Revision-Date: 2017-07-15 02:48+0000\n" +"Last-Translator: Bole , 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" +"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" +"
\n" +"

Hello ${ctx.get('sender_message').get('from')},

\n" +"

we got a problem with your email: ${ctx." +"get('sender_message').get('subject')}

\n" +"

Maybe you used a wrong recipient address?

\n" +"


\n" +"

Technical details:

\n" +"

${ctx.get('route_exception')}

\n" +"
\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 "POP/IMAP Server" + +#. 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 "" diff --git a/fetchmail_notify_error_to_sender/i18n/it.po b/fetchmail_notify_error_to_sender/i18n/it.po new file mode 100644 index 000000000..88c083c4a --- /dev/null +++ b/fetchmail_notify_error_to_sender/i18n/it.po @@ -0,0 +1,76 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fetchmail_notify_error_to_sender +# +# Translators: +# Paolo Valier , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-06 02:25+0000\n" +"PO-Revision-Date: 2018-01-06 02:25+0000\n" +"Last-Translator: Paolo Valier , 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" +"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" +"
\n" +"

Hello ${ctx.get('sender_message').get('from')},

\n" +"

we got a problem with your email: ${ctx." +"get('sender_message').get('subject')}

\n" +"

Maybe you used a wrong recipient address?

\n" +"


\n" +"

Technical details:

\n" +"

${ctx.get('route_exception')}

\n" +"
\n" +" " +msgstr "" +"\n" +"
\n" +"

Salve ${ctx.get('sender_message').get('from')},

\n" +"

abbiamo avuto un problema con la tua mail: ${ctx." +"get('sender_message').get('subject')}

\n" +"

Forse hai usato un indirizzo errato?

\n" +"


\n" +"

Dettagli tecnici:

\n" +"

${ctx.get('route_exception').message}

\n" +"
\n" +" " + +#. module: fetchmail_notify_error_to_sender +#: model:ir.model,name:fetchmail_notify_error_to_sender.model_mail_thread +msgid "Email Thread" +msgstr "Discussione Mail" + +#. 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 "Template Notifica Errore" + +#. module: fetchmail_notify_error_to_sender +#: model:ir.model,name:fetchmail_notify_error_to_sender.model_fetchmail_server +msgid "POP/IMAP Server" +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}" + +#. 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 "" +"Imposta qui il template da usare per inviare una notifica al mittente quando " +"si verificano errori durante il recupero dell'e-mail" diff --git a/fetchmail_notify_error_to_sender/i18n/pt_BR.po b/fetchmail_notify_error_to_sender/i18n/pt_BR.po new file mode 100644 index 000000000..590644505 --- /dev/null +++ b/fetchmail_notify_error_to_sender/i18n/pt_BR.po @@ -0,0 +1,63 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fetchmail_notify_error_to_sender +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-01 02:10+0000\n" +"PO-Revision-Date: 2017-12-01 02:10+0000\n" +"Last-Translator: OCA Transbot , 2017\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" +"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" +"
\n" +"

Hello ${ctx.get('sender_message').get('from')},

\n" +"

we got a problem with your email: ${ctx." +"get('sender_message').get('subject')}

\n" +"

Maybe you used a wrong recipient address?

\n" +"


\n" +"

Technical details:

\n" +"

${ctx.get('route_exception')}

\n" +"
\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 "Servidor 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 "" + +#. 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 "" diff --git a/fetchmail_notify_error_to_sender/i18n/pt_PT.po b/fetchmail_notify_error_to_sender/i18n/pt_PT.po new file mode 100644 index 000000000..c0d428066 --- /dev/null +++ b/fetchmail_notify_error_to_sender/i18n/pt_PT.po @@ -0,0 +1,62 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fetchmail_notify_error_to_sender +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: server-tools (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"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: pt_PT\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" + +#. module: fetchmail_notify_error_to_sender +#: model:mail.template,body_html:fetchmail_notify_error_to_sender.email_template_error_notice +msgid "" +"\n" +"
\n" +"

Hello ${ctx.get('sender_message').get('from')},

\n" +"

we got a problem with your email: ${ctx." +"get('sender_message').get('subject')}

\n" +"

Maybe you used a wrong recipient address?

\n" +"


\n" +"

Technical details:

\n" +"

${ctx.get('route_exception')}

\n" +"
\n" +" " +msgstr "" + +#. module: fetchmail_notify_error_to_sender +#: model:ir.model,name:fetchmail_notify_error_to_sender.model_mail_thread +msgid "Email Thread" +msgstr "Tópico de Email" + +#. 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 "" diff --git a/fetchmail_notify_error_to_sender/i18n/sl.po b/fetchmail_notify_error_to_sender/i18n/sl.po new file mode 100644 index 000000000..ab29add9f --- /dev/null +++ b/fetchmail_notify_error_to_sender/i18n/sl.po @@ -0,0 +1,63 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fetchmail_notify_error_to_sender +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-01 02:10+0000\n" +"PO-Revision-Date: 2017-12-01 02:10+0000\n" +"Last-Translator: OCA Transbot , 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" +"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" +"
\n" +"

Hello ${ctx.get('sender_message').get('from')},

\n" +"

we got a problem with your email: ${ctx." +"get('sender_message').get('subject')}

\n" +"

Maybe you used a wrong recipient address?

\n" +"


\n" +"

Technical details:

\n" +"

${ctx.get('route_exception')}

\n" +"
\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 "POP/IMAP strežnik" + +#. 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 "" diff --git a/fetchmail_notify_error_to_sender/i18n/tr.po b/fetchmail_notify_error_to_sender/i18n/tr.po new file mode 100644 index 000000000..ffaa7b0db --- /dev/null +++ b/fetchmail_notify_error_to_sender/i18n/tr.po @@ -0,0 +1,76 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fetchmail_notify_error_to_sender +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-15 02:48+0000\n" +"PO-Revision-Date: 2017-07-15 02:48+0000\n" +"Last-Translator: OCA Transbot , 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" +"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" +"
\n" +"

Hello ${ctx.get('sender_message').get('from')},

\n" +"

we got a problem with your email: ${ctx." +"get('sender_message').get('subject')}

\n" +"

Maybe you used a wrong recipient address?

\n" +"


\n" +"

Technical details:

\n" +"

${ctx.get('route_exception')}

\n" +"
\n" +" " +msgstr "" +"\n" +"
\n" +"

Merhaba ${ctx.get('sender_message').get('from')},

\n" +"

E-postanız ile ilgili bir problem var: ${ctx.get('sender_message')." +"get('subject')}

\n" +"

Belki alıcı adresi yanlıştır?

\n" +"


\n" +"

Teknik detaylar:

\n" +"

${ctx.get('route_exception').message}

\n" +"
\n" +" " + +#. module: fetchmail_notify_error_to_sender +#: model:ir.model,name:fetchmail_notify_error_to_sender.model_mail_thread +msgid "Email Thread" +msgstr "Eposta konuşması" + +#. 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 "Hata bildirim şablonu" + +#. module: fetchmail_notify_error_to_sender +#: model:ir.model,name:fetchmail_notify_error_to_sender.model_fetchmail_server +msgid "POP/IMAP Server" +msgstr "POP/IMAP sunucu" + +#. 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 "Alınan hata : ${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 +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." diff --git a/fetchmail_notify_error_to_sender/i18n/zh_CN.po b/fetchmail_notify_error_to_sender/i18n/zh_CN.po new file mode 100644 index 000000000..aea4420f2 --- /dev/null +++ b/fetchmail_notify_error_to_sender/i18n/zh_CN.po @@ -0,0 +1,63 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fetchmail_notify_error_to_sender +# +# Translators: +# Jeffery CHEN , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-15 02:48+0000\n" +"PO-Revision-Date: 2017-07-15 02:48+0000\n" +"Last-Translator: Jeffery CHEN , 2017\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" +"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" +"
\n" +"

Hello ${ctx.get('sender_message').get('from')},

\n" +"

we got a problem with your email: ${ctx." +"get('sender_message').get('subject')}

\n" +"

Maybe you used a wrong recipient address?

\n" +"


\n" +"

Technical details:

\n" +"

${ctx.get('route_exception')}

\n" +"
\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 "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 "" + +#. 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 "" diff --git a/fetchmail_notify_error_to_sender/models/__init__.py b/fetchmail_notify_error_to_sender/models/__init__.py new file mode 100644 index 000000000..33189fb89 --- /dev/null +++ b/fetchmail_notify_error_to_sender/models/__init__.py @@ -0,0 +1,4 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import fetchmail +from . import mail_thread diff --git a/fetchmail_notify_error_to_sender/models/fetchmail.py b/fetchmail_notify_error_to_sender/models/fetchmail.py new file mode 100644 index 000000000..2becf8f2e --- /dev/null +++ b/fetchmail_notify_error_to_sender/models/fetchmail.py @@ -0,0 +1,15 @@ +# Copyright 2015 Lorenzo Battistini +# Copyright 2017 Eficent +# Copyright 2018 Hai Dinh +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class FetchmailServer(models.Model): + _inherit = 'fetchmail.server' + + error_notice_template_id = fields.Many2one( + 'mail.template', string="Error notice template", + help="Set here the template to use to send notice to sender when " + "errors occur while fetching email") diff --git a/fetchmail_notify_error_to_sender/models/mail_thread.py b/fetchmail_notify_error_to_sender/models/mail_thread.py new file mode 100644 index 000000000..1ab797fc2 --- /dev/null +++ b/fetchmail_notify_error_to_sender/models/mail_thread.py @@ -0,0 +1,32 @@ +# Copyright 2015-2017 Lorenzo Battistini +# Copyright 2017 Eficent +# Copyright 2018 Hai Dinh +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import api, models + + +class MailThread(models.AbstractModel): + _inherit = 'mail.thread' + + @api.model + def message_route(self, message, message_dict, model=None, thread_id=None, + custom_values=None): + try: + res = super(MailThread, self).message_route( + message, message_dict, model=model, thread_id=thread_id, + custom_values=custom_values) + except ValueError as ve: + fetchmail_server_id = self.env.context.get('fetchmail_server_id') + if not fetchmail_server_id: + raise ve + fetchmail_server = self.env['fetchmail.server'].with_context({ + 'sender_message': message, + 'route_exception': ve, + }).browse(fetchmail_server_id) + if not fetchmail_server.error_notice_template_id: + raise ve + fetchmail_server.error_notice_template_id.send_mail( + fetchmail_server.id) + raise ve + return res diff --git a/fetchmail_notify_error_to_sender/readme/CONFIGURE.rst b/fetchmail_notify_error_to_sender/readme/CONFIGURE.rst new file mode 100644 index 000000000..bffe75f5e --- /dev/null +++ b/fetchmail_notify_error_to_sender/readme/CONFIGURE.rst @@ -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. diff --git a/fetchmail_notify_error_to_sender/readme/CONTRIBUTORS.rst b/fetchmail_notify_error_to_sender/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000..62bb4ffa9 --- /dev/null +++ b/fetchmail_notify_error_to_sender/readme/CONTRIBUTORS.rst @@ -0,0 +1,4 @@ +* Lorenzo Battistini +* Miquel Raïch (migration to v9 and v10) +* Hai Dinh (migration to V11) +* Nedas Zilinskas (Ventor, Xpansa Group ) diff --git a/fetchmail_notify_error_to_sender/readme/DESCRIPTION.rst b/fetchmail_notify_error_to_sender/readme/DESCRIPTION.rst new file mode 100644 index 000000000..b2aed0cd4 --- /dev/null +++ b/fetchmail_notify_error_to_sender/readme/DESCRIPTION.rst @@ -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. diff --git a/fetchmail_notify_error_to_sender/static/description/icon.png b/fetchmail_notify_error_to_sender/static/description/icon.png new file mode 100644 index 000000000..955b8138f Binary files /dev/null and b/fetchmail_notify_error_to_sender/static/description/icon.png differ diff --git a/fetchmail_notify_error_to_sender/static/description/index.html b/fetchmail_notify_error_to_sender/static/description/index.html new file mode 100644 index 000000000..9ea7c0437 --- /dev/null +++ b/fetchmail_notify_error_to_sender/static/description/index.html @@ -0,0 +1,439 @@ + + + + + + +Fetchmail Notify Error to Sender + + + +
+

Fetchmail Notify Error to Sender

+ + +

Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runbot

+

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.

+

Table of contents

+ +
+

Configuration

+

To configure this module, you need to:

+
    +
  1. Configure your fetchmail server setting ‘Error notice template’ = ‘Fetchmail - error notice’.
  2. +
  3. You can edit the ‘Fetchmail - error notice’ email template according to your needs.
  4. +
+
+
+

Bug Tracker

+

Bugs are tracked on GitHub 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.

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • Agile Business Group
  • +
  • Eficent
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

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/server-tools project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/fetchmail_notify_error_to_sender/tests/__init__.py b/fetchmail_notify_error_to_sender/tests/__init__.py new file mode 100644 index 000000000..f6a213969 --- /dev/null +++ b/fetchmail_notify_error_to_sender/tests/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import test_fetchmail_notify_error_to_sender diff --git a/fetchmail_notify_error_to_sender/tests/test_fetchmail_notify_error_to_sender.py b/fetchmail_notify_error_to_sender/tests/test_fetchmail_notify_error_to_sender.py new file mode 100644 index 000000000..47f58b412 --- /dev/null +++ b/fetchmail_notify_error_to_sender/tests/test_fetchmail_notify_error_to_sender.py @@ -0,0 +1,79 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +import socket +from odoo.addons.test_mail.data.test_mail_data import MAIL_TEMPLATE +from odoo.addons.test_mail.tests.test_mail_gateway import TestMailgateway +from odoo.tools import mute_logger +from email.utils import formataddr + + +class TestFetchmailNotifyErrorToSender(TestMailgateway): + + 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 ', + cc_email='', + msg_id='<1198923581.41972151344608186760.JavaMail@agrolait.com>', + model=None, target_model='mail.test.simple', target_field='name', + ctx=None, + ): + 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 = formataddr((self.partner_1.name, self.partner_1.email)) + + 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.simple@%s' + '>' % (self.test_record.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, + ) diff --git a/fetchmail_notify_error_to_sender/views/fetchmail_view.xml b/fetchmail_notify_error_to_sender/views/fetchmail_view.xml new file mode 100644 index 000000000..40d7ba9f4 --- /dev/null +++ b/fetchmail_notify_error_to_sender/views/fetchmail_view.xml @@ -0,0 +1,13 @@ + + + + fetchmail.server.form + fetchmail.server + + + + + + + +