Skip to content

Commit

Permalink
mail_tracking_mass_mailing (#78)
Browse files Browse the repository at this point in the history
[ADD] mail_tracking_mass_mailing

==============================
Mail tracking for mass mailing
==============================

Links mail statistics objects with mail tracking objects.

Installation
============

This addon will be automatically installed when 'mail_tracking' and
'mass_mailing' are both installed

Usage
=====

From mail statistic object, you can see:
- Email tracking state
- Email related tracking object
- Email related tracking events

From mass mailing contact, you can see:
- Email score, in order to clean up your lists from bad score emails

As a bonus feature, you have a new checkbox 'Avoid resend' in mass mailing,
in order to not send twice the same email to the same recipient. This is very
useful when you want to resend the mass mailing after changing selection
recipients. Notice that recipient selection could be a domain over a model, so
result ids could change over the time. With this flag you can send
the same email several times but only once to each recipient.
  • Loading branch information
antespi authored and yajo committed Mar 7, 2019
1 parent 3e5dac8 commit 7502486
Show file tree
Hide file tree
Showing 20 changed files with 886 additions and 0 deletions.
77 changes: 77 additions & 0 deletions mail_tracking_mass_mailing/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
.. 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

==============================
Mail tracking for mass mailing
==============================

Links mail statistics objects with mail tracking objects.


Installation
============

This addon will be automatically installed when 'mail_tracking' and
'mass_mailing' are both installed


Usage
=====

From mail statistic object, you can see:
- Email tracking state
- Email related tracking object
- Email related tracking events

From mass mailing contact, you can see:
- Email score, in order to clean up your lists from bad score emails

As a bonus feature, you have a new checkbox 'Avoid resend' in mass mailing,
in order to not send twice the same email to the same recipient. This is very
useful when you want to resend the mass mailing after changing selection
recipients. Notice that recipient selection could be a domain over a model, so
result ids could change over the time. With this flag you can send
the same email several times but only once to each recipient.

.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
:alt: Try me on Runbot
:target: https://runbot.odoo-community.org/runbot/205/8.0


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

Bugs are tracked on `GitHub Issues
<https://github.com/OCA/social/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.

Credits
=======

Images
------

* Odoo Community Association: `Icon <https://github.com/OCA/maintainer-tools/blob/master/template/module/static/description/icon.svg>`_.

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

* Pedro M. Baeza <[email protected]>
* Antonio Espinosa <[email protected]>

Maintainer
----------

.. 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.
6 changes: 6 additions & 0 deletions mail_tracking_mass_mailing/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# -*- coding: utf-8 -*-
# © 2016 Antonio Espinosa - <[email protected]>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

from . import models
from .hooks import pre_init_hook
28 changes: 28 additions & 0 deletions mail_tracking_mass_mailing/__openerp__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# -*- coding: utf-8 -*-
# © 2016 Antonio Espinosa - <[email protected]>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

{
"name": "Mail tracking for mass mailing",
"summary": "Improve mass mailing email tracking",
"version": "8.0.1.0.1",
"category": "Social Network",
"website": "http://www.tecnativa.com",
"author": "Tecnativa, "
"Odoo Community Association (OCA)",
"license": "AGPL-3",
"application": False,
"installable": True,
'auto_install': True,
"depends": [
"mass_mailing",
"mail_tracking",
],
"data": [
"views/mail_tracking_email_view.xml",
"views/mail_mail_statistics_view.xml",
"views/mail_mass_mailing_view.xml",
"views/mail_mass_mailing_contact_view.xml",
],
"pre_init_hook": "pre_init_hook",
}
20 changes: 20 additions & 0 deletions mail_tracking_mass_mailing/hooks.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-
# © 2016 Antonio Espinosa - <[email protected]>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

import logging
try:
from openerp.addons.mail_tracking.hooks import column_add_with_value
except ImportError:
column_add_with_value = False

_logger = logging.getLogger(__name__)


def pre_init_hook(cr):
if column_add_with_value:
_logger.info("Creating mail.mass_mailing.contact.email_score column "
"with value 50.0")
column_add_with_value(
cr, 'mail_mass_mailing_contact', 'email_score', 'double precision',
50.0)
130 changes: 130 additions & 0 deletions mail_tracking_mass_mailing/i18n/en.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * mail_tracking_mass_mailing
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 8.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-08-12 10:39+0000\n"
"PO-Revision-Date: 2016-08-12 10:39+0000\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_tracking_mass_mailing
#: help:mail.mail.statistics,tracking_state:0
msgid " * The 'Error' status indicates that there was an error when trying to sent the email, for example, 'No valid recipient'\n"
" * The 'Sent' status indicates that message was succesfully sent via outgoing email server (SMTP).\n"
" * The 'Delivered' status indicates that message was succesfully delivered to recipient Mail Exchange (MX) server.\n"
" * The 'Open' status indicates that message was opened or clicked by recipient.\n"
" * The 'Rejected' status indicates that recipient email address is blacklisted by outgoing email server (SMTP). It is recomended to delete this email address.\n"
" * The 'Spam' status indicates that outgoing email server (SMTP) consider this message as spam.\n"
" * The 'Unsubscribed' status indicates that recipient has requested to be unsubscribed from this message.\n"
" * The 'Bounced' status indicates that message was bounced by recipient Mail Exchange (MX) server.\n"
" * The 'Soft bounced' status indicates that message was soft bounced by recipient Mail Exchange (MX) server.\n"
""
msgstr " * The 'Error' status indicates that there was an error when trying to sent the email, for example, 'No valid recipient'\n"
" * The 'Sent' status indicates that message was succesfully sent via outgoing email server (SMTP).\n"
" * The 'Delivered' status indicates that message was succesfully delivered to recipient Mail Exchange (MX) server.\n"
" * The 'Open' status indicates that message was opened or clicked by recipient.\n"
" * The 'Rejected' status indicates that recipient email address is blacklisted by outgoing email server (SMTP). It is recomended to delete this email address.\n"
" * The 'Spam' status indicates that outgoing email server (SMTP) consider this message as spam.\n"
" * The 'Unsubscribed' status indicates that recipient has requested to be unsubscribed from this message.\n"
" * The 'Bounced' status indicates that message was bounced by recipient Mail Exchange (MX) server.\n"
" * The 'Soft bounced' status indicates that message was soft bounced by recipient Mail Exchange (MX) server.\n"
""

#. module: mail_tracking_mass_mailing
#: field:mail.mass_mailing,avoid_resend:0
msgid "Avoid resend"
msgstr "Avoid resend"

#. module: mail_tracking_mass_mailing
#: help:mail.mass_mailing,avoid_resend:0
msgid "Avoid to send this mass mailing email twice to the same recipient"
msgstr "Avoid to send this mass mailing email twice to the same recipient"

#. module: mail_tracking_mass_mailing
#: view:mail.mail.statistics:mail_tracking_mass_mailing.view_mail_mail_statistics_form
msgid "Country"
msgstr "Country"

#. module: mail_tracking_mass_mailing
#: model:ir.model,name:mail_tracking_mass_mailing.model_mail_mail_statistics
msgid "Email Statistics"
msgstr "Email Statistics"

#. module: mail_tracking_mass_mailing
#: field:mail.mass_mailing.contact,email_score:0
msgid "Email score"
msgstr "Email score"

#. module: mail_tracking_mass_mailing
#: field:mail.tracking.email,mail_id_int:0
msgid "Mail ID"
msgstr "Mail ID"

#. module: mail_tracking_mass_mailing
#: field:mail.tracking.email,mail_stats_id:0
msgid "Mail statistics"
msgstr "Mail statistics"

#. module: mail_tracking_mass_mailing
#: field:mail.mail.statistics,mail_tracking_id:0
msgid "Mail tracking"
msgstr "Mail tracking"

#. module: mail_tracking_mass_mailing
#: model:ir.model,name:mail_tracking_mass_mailing.model_mail_tracking_email
msgid "MailTracking email"
msgstr "MailTracking email"

#. module: mail_tracking_mass_mailing
#: model:ir.model,name:mail_tracking_mass_mailing.model_mail_tracking_event
msgid "MailTracking event"
msgstr "MailTracking event"

#. module: mail_tracking_mass_mailing
#: model:ir.model,name:mail_tracking_mass_mailing.model_mail_mass_mailing
msgid "Mass Mailing"
msgstr "Mass Mailing"

#. module: mail_tracking_mass_mailing
#: model:ir.model,name:mail_tracking_mass_mailing.model_mail_mass_mailing_contact
msgid "Mass Mailing Contact"
msgstr "Mass Mailing Contact"

#. module: mail_tracking_mass_mailing
#: field:mail.tracking.email,mass_mailing_id:0
msgid "Mass mailing"
msgstr "Mass mailing"

#. module: mail_tracking_mass_mailing
#: model:ir.model,name:mail_tracking_mass_mailing.model_mail_mail
msgid "Outgoing Mails"
msgstr "Outgoing Mails"

#. module: mail_tracking_mass_mailing
#: field:mail.mail.statistics,tracking_state:0
msgid "State"
msgstr "State"

#. module: mail_tracking_mass_mailing
#: field:mail.mass_mailing.contact,tracking_email_ids:0
msgid "Tracking emails"
msgstr "Tracking emails"

#. module: mail_tracking_mass_mailing
#: view:mail.mail.statistics:mail_tracking_mass_mailing.view_mail_mail_statistics_form
#: field:mail.mail.statistics,tracking_event_ids:0
msgid "Tracking events"
msgstr "Tracking events"

#. module: mail_tracking_mass_mailing
#: view:mail.mail.statistics:mail_tracking_mass_mailing.view_mail_mail_statistics_form
msgid "User agent"
msgstr "User agent"
129 changes: 129 additions & 0 deletions mail_tracking_mass_mailing/i18n/es.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * mail_tracking_mass_mailing
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 8.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-08-12 10:39+0000\n"
"PO-Revision-Date: 2016-08-12 10:39+0000\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_tracking_mass_mailing
#: help:mail.mail.statistics,tracking_state:0
msgid " * The 'Error' status indicates that there was an error when trying to sent the email, for example, 'No valid recipient'\n"
" * The 'Sent' status indicates that message was succesfully sent via outgoing email server (SMTP).\n"
" * The 'Delivered' status indicates that message was succesfully delivered to recipient Mail Exchange (MX) server.\n"
" * The 'Open' status indicates that message was opened or clicked by recipient.\n"
" * The 'Rejected' status indicates that recipient email address is blacklisted by outgoing email server (SMTP). It is recomended to delete this email address.\n"
" * The 'Spam' status indicates that outgoing email server (SMTP) consider this message as spam.\n"
" * The 'Unsubscribed' status indicates that recipient has requested to be unsubscribed from this message.\n"
" * The 'Bounced' status indicates that message was bounced by recipient Mail Exchange (MX) server.\n"
" * The 'Soft bounced' status indicates that message was soft bounced by recipient Mail Exchange (MX) server.\n"
""
msgstr " * 'Error' indica que ha habido un error al intentar el envío del email, por ejemplo, 'Email de destino no válido'\n"
" * 'Enviado' indica que el email se ha envíado correctamente al servidor de correo saliente (SMTP)\n"
" * 'Entregado' indica que el email se ha entregado al servidor de correo del destinatario (MX)\n"
" * 'Abierto' indica que el destinatario ha abierto o clicado en el email\n"
" * 'Rechazado' indica que la dirección del destinatario esta en una lista negra en el servidor de correo saliente (SMTP)\n"
" * 'Spam' indica que el servidor de correo saliente (SMTP) considera el email como spam\n"
" * 'Desuscrito' indica que el destinatarios ha solicitado desuscribirse desde este email\n"
" * 'Rebotado' indica que el email no ha sido aceptado por el servidor de correo del destinatario (MX)\n"
" * 'Rebotado leve' indica que el email no ha sido aceptado por motivos temporales por el servidor de correo del destinatario (MX)\n"

#. module: mail_tracking_mass_mailing
#: field:mail.mass_mailing,avoid_resend:0
msgid "Avoid resend"
msgstr "Evitar reenvios"

#. module: mail_tracking_mass_mailing
#: help:mail.mass_mailing,avoid_resend:0
msgid "Avoid to send this mass mailing email twice to the same recipient"
msgstr "Evitar que se envíe este correo masivo dos veces al mismo destinatario"

#. module: mail_tracking_mass_mailing
#: view:mail.mail.statistics:mail_tracking_mass_mailing.view_mail_mail_statistics_form
msgid "Country"
msgstr "País"

#. module: mail_tracking_mass_mailing
#: model:ir.model,name:mail_tracking_mass_mailing.model_mail_mail_statistics
msgid "Email Statistics"
msgstr "Estadísticas del email"

#. module: mail_tracking_mass_mailing
#: field:mail.mass_mailing.contact,email_score:0
msgid "Email score"
msgstr "Reputación del email"

#. module: mail_tracking_mass_mailing
#: field:mail.tracking.email,mail_id_int:0
msgid "Mail ID"
msgstr "Mail ID"

#. module: mail_tracking_mass_mailing
#: field:mail.tracking.email,mail_stats_id:0
msgid "Mail statistics"
msgstr "Estadísticas del email"

#. module: mail_tracking_mass_mailing
#: field:mail.mail.statistics,mail_tracking_id:0
msgid "Mail tracking"
msgstr "Seguimiento del email"

#. module: mail_tracking_mass_mailing
#: model:ir.model,name:mail_tracking_mass_mailing.model_mail_tracking_email
msgid "MailTracking email"
msgstr "MailTracking email"

#. module: mail_tracking_mass_mailing
#: model:ir.model,name:mail_tracking_mass_mailing.model_mail_tracking_event
msgid "MailTracking event"
msgstr "MailTracking event"

#. module: mail_tracking_mass_mailing
#: model:ir.model,name:mail_tracking_mass_mailing.model_mail_mass_mailing
msgid "Mass Mailing"
msgstr "Envío masivo"

#. module: mail_tracking_mass_mailing
#: model:ir.model,name:mail_tracking_mass_mailing.model_mail_mass_mailing_contact
msgid "Mass Mailing Contact"
msgstr "Contacto de envío masivo"

#. module: mail_tracking_mass_mailing
#: field:mail.tracking.email,mass_mailing_id:0
msgid "Mass mailing"
msgstr "Envío masivo"

#. module: mail_tracking_mass_mailing
#: model:ir.model,name:mail_tracking_mass_mailing.model_mail_mail
msgid "Outgoing Mails"
msgstr "Correos salientes"

#. module: mail_tracking_mass_mailing
#: field:mail.mail.statistics,tracking_state:0
msgid "State"
msgstr "Estado"

#. module: mail_tracking_mass_mailing
#: field:mail.mass_mailing.contact,tracking_email_ids:0
msgid "Tracking emails"
msgstr "Emails de seguimiento"

#. module: mail_tracking_mass_mailing
#: view:mail.mail.statistics:mail_tracking_mass_mailing.view_mail_mail_statistics_form
#: field:mail.mail.statistics,tracking_event_ids:0
msgid "Tracking events"
msgstr "Eventos de seguimiento"

#. module: mail_tracking_mass_mailing
#: view:mail.mail.statistics:mail_tracking_mass_mailing.view_mail_mail_statistics_form
msgid "User agent"
msgstr "Aplicación del usuario"
Loading

0 comments on commit 7502486

Please sign in to comment.