#SysAdmin #NetAdmin

PMG – Email de notification de quarantaine

P

L’email de notification qui présente les emails retenus en quarantaine n’est pas des plus magnifiques sous PMG, mais il est possible de le personnaliser.

Prérequis

  • Avoir créé le dossier template dans PMG
  • Avoir quelques connaissances en HTML/CSS

Personnaliser l’email

On commence par créer le fichier que l’on va personnaliser en se basant sur celui d’origine:

sudo cp /etc/pmg/templates/spamreport-verbose.tt /etc/pmg/templates/spamreport-custom.tt

On édite le fichier:

sudo nano /etc/pmg/templates/spamreport-custom.tt

Il suffit de personnaliser le code HTML comme on le désire, tout en faisant bien attention de ne pas supprimer les appels aux fonctions de PMG.

Exemple :

[%- IF timespan == 'week' -%]
[%- SET title = "Rapport hebdomadaire de spam pour '${pmail}' - ${date}'" -%]
[%- ELSE %]
[%- SET title = "Rapport quotidien de spam pour '${pmail}' - ${date}" -%]
[%- END -%]

[%- SET adrmail = "${pmail}" -%]

[% BLOCK tooltip %]Received: [% d.date %] [% d.time %]
From: [% d.envelope_sender %]
TO: [% d.receiver %]
Size: [% d.bytes %]
Score: [% d.spamlevel %]
File: [% d.file %]
[% END %]

<html>
        <head>
        <title>[% title %]</title>
                <style>
        html, body {
            margin: 0 auto !important;
            padding: 0 !important;
            height: 100% !important;
            width: 100% !important;
            font-family: Arial, Helvetica, sans-serif;
        }
        * {
            -ms-text-size-adjust: 100%;
        }
        .notice {
            border: solid 2px whitesmoke;
            border-left: solid 7px #FEBE10;
            padding: 5px 15px;
            box-shadow: 5px 5px 20px #D1CFCF;
            margin-bottom: 5px;
        }
        .communication {
            border: solid 2px whitesmoke;
            border-left: solid 7px #318CE7;
            padding: 5px 15px;
            box-shadow: 5px 5px 20px #D1CFCF;
            margin-bottom: 20px;
        }
        table {
            mso-table-lspace: 0pt !important;
            mso-table-rspace: 0pt !important;
        }
        td {
            mso-table-lspace: 0pt !important;
            mso-table-rspace: 0pt !important;
            border: solid 1px #000;
            border-style: solid none solid none;
            padding: 5px;
        }
        .td-account {
            border: solid 4px #FEBE10;
        }
        .td-espace {
            background-color: #FEBE10;
            height: 50px;
            border: solid 4px #FEBE10;
            text-align: center;
            font-weight: bold;
        }
        .td-espace a {
            color: #fff;
            text-decoration: none;
        }
        .tr-header {
            color: #55585c;
            font-weight: bold;
        }
        .td-first {
            border-left: solid 1px #000;
        }
        .td-date {
            width: 15%;
            text-align: center;
        }
                .td-action1 {
            height: 50px;
            background-color: #318CE7;
        }
        .td-action2 {
            height: 50px;
            border-right: solid 1px #000;
            background-color: green;
        }
        .deliver,.allow {
            text-align: center;
        }
        .deliver a, .allow a {
            display: inline-block;
            height: 38px;
            line-height: 38px;
            width: 100%;
            color: white;
            text-decoration: none;
        }
                </style>
        </head>
        <body width="100%" style="margin: 0; padding: 0 !important; mso-line-height-rule: exactly;">
                <h2>Bonjour, voici votre dernier rapport d'emails stoppés :</h2>
        <div class="notice">
            <h4>Aide à la lecture de votre rapport</h4>
            <p>Pour votre sécurité, des emails avec un trop haut niveau de SPAM ne vous sont pas remis.</p>
            <p><b>Les emails sont en quarantaine pour 7 jours</b> à partir de la date de réception, après quoi ils seront automatiquement supprimés sans possibilité d'être récupérés.</p>
            <p><u>Explication des boutons</u>:</p>
            <p>Accéder à mon espace = Gestion des adresses déjà autorisées ou interdites</p>
            <p>Récupérer l'email = Libère l'email dans votre boite de réception.</p>
            <p>Autoriser l'adresse = Si cette adresse vous semble légitime vous pouvez l'ajouter dans votre liste blanche pour qu'elle ne soit plus bloquée.</p>
        </div>
                <div class="communication">
            <p>Si vous avez des questions par rapport &agrave; ce message, vous pouvez répondre à ce message.</p>
            <p>Le service informatique</p>
        </div>
        <table role="presentation" cellspacing="0" cellpadding="0" border="0">
                        <tr>
                                <td class="td-account">[% adrmail %]</td>
                                <td class="td-espace">
                    <a href='[% managehref | url %]'>Accéder à mon espace</a>
                </td>
                        </tr>
            <tr>
                <td height="10" align="center" valign="middle" style="margin: 0; font-size: 0px; line-height: 0px; border: 0;">&nbsp;</td>
            </tr>
                </table>
        <h4>Ci-dessous votre liste d'email(s) en attente:</h4>
                <table width="100%" role="presentation" cellspacing="0" cellpadding="0" border="0">
                        <tr class="tr-header">
                                <th>EXPEDITEUR</th>
                                <th>OBJET</th>
                                <th>DATE</th>
                        </tr>
                        <!--start entries-->
                        [% FOREACH item IN items %]
                        <tr title='[% PROCESS tooltip d=item | html  %]'>
                                <td class='td-first'>[% item.from %]</td>
                                <td><a style='cursor:pointer;' href='[% item.href | url %]'><b>[% item.subject %]</b></a></td>
                                <td class="td-date">[% item.date %] [% item.time %]</td>
                                <td class="td-action1">
                                        <div class="deliver">
                                                <a href='[% item.href | url %]&action=deliver'>Récupérer l'email</a>
                                        </div>
                                </td>
                                <td class="td-action2">
                                        <div class="allow">
                                                <a href='[% item.href | url %]&action=whitelist'>Autoriser l'adresse</a>
                                        </div>
                                </td>
                        </tr>
                        <tr>
                <td height="10" align="center" valign="middle" style="margin: 0; font-size: 0px; line-height: 0px; border: 0;">&nbsp;</td>
            </tr>
                        [% END %]
                        <!--end entries-->
                </table>
        </body>
</html>

Activation de l’email personnalisé

Une fois le fichier prêt, il faut à partir du GUI de PMG spécifier l’utilisation de celui-ci.

Menu Configuration > Spam Detector > Quarantine > User Spamreport Style

Il suffit de basculer la propriété sur Custom

Lors de la prochaine notification (chaque soir à 00h00) le nouvel email sera utilisé. Il est possible de tester le nouveau template avec la commande suivante:

sudo pmgqm send --receiver email@domail.tld

Bien évidemment il faut que des messages soient en attente dans la quarantaine.

par Nathan
#SysAdmin #NetAdmin