Texte à méditer :   Marche et tu te sentiras libre     proverbe Touareg
 
 
 
 
 
Vous êtes ici :   Accueil » V6 cplMailBat » 2 Installation
    Imprimer la page...
 
 

 V6 cplMailBat - 2 Installation

cplMailBat - Installation

Le paquet NE doit PAS être installé avec la fonction Instal de GuppY.

De par l'architecture de Guppy, celle du module a changé à partir de la version 6.00.09. Auparavant, le paquet contenait tout. Maintenant, le paquet cplMailBat ne contient que la partie batch (lancée par cron). La partie d'envoi des courriels est intégrée au plugin CPLcommun sous forme de fork de la fonction eMailHtmlTo de GuppY. Si vous voulez utiliser cplMailBat sur un GuppY 6.00.09 (et plus), vous devez installer la version 6.00.09 de cplMailBat. Toutefois, elle supporte des GuppY de version antérieure.

Téléchargez le paquet d'installation à partir de https://guppy.christianlautier.fr  et décompressez-le sur votre ordinateur.

Le paquet contient 2 répertoires

  • documentation. contient un document PDF, concaténation de tous les articles de ce site.
  • cplmail. Ce répertoire contient le moteur, en particulier le répertoire qui contient la file d'attente (tmpmails). Il faut recopier le répertoire "cplmail" à la racine de votre hébergement, afin que vos différents sites puissent écrire sur le répertoire qui contient la file d'attente.

Dans la console d'administration de votre hébergement, vous paramétrez une exécution automatique du programme /cplmail/cplmailbat.php. Je conseille toutes les heures.

Pour la première installation seulement, vous renommez le fichier /cplmail/config-exemple.inc en /cplmail/config.inc. Ce fichier pilote l'exécution du programme cplmailbat. Vous adaptez les paramètres de ce fichier à votre configuration :

  • define("TRACE_FLAG",'off'); => vous mettez "on", uniquement si vous voulez effectuez une trace du programme lorsque ça ne se passe pas normalement.
  • $mesXX = "blabla"; => messages d'erreur, ne pas toucher, à priori.
  • $typeMail = "phpmailerBat" ; => de préférence, ne pas toucher mais vous pouvez mettre autre chose, un des fichiers qui se trouve dans le répertoire mailsub.
  • $maxMailJour = 500; => mettez ici le nombre de mails à ne pas dépasser par jour (dépend de l'hébergeur)
  • $maxMailHeure = 100; => mettez ici le nombre de mails à ne pas dépasser par heure (dépend de l'hébergeur)
  • $maxMailPourcent = 90; => pourcentage du nombre précédent à ne pas dépasser; J'ai introduit ce paramètre parce que je me suis rendu compte que certains services comme "contact" ne passaient pas par le système standard d'envoi de courriel (fonction eMailHtmlTo); ainsi on leur laisse une fenêtre de tir!
  • $inter = 2; => indique l'intervalle en minutes entre chaque boucle de scan de la file d'attente; le programme scanne la file d'attente, s'il trouve des courriels il les envoie, sinon il se met en pause durant ce temps, jusqu'à la fin de la période indiquée ci-après
  • $periode = 'heure'; => il faut mettre la valeur correspondant à la programmation de la tâche planifiée; heure est conseillé, mais ça peut être "jour" ou "semaine"
  • $cptRet = '90'; => nombre de jours de rétention des fichiers compteurs: le programme cplmailbat enregistre un compteur par heure et un par jour dans le répertoire compteurs pour cumuler le nombre de courriels envoyés. Au début de chaque appel, il purge les fichiers vieux de plus de ce nombre de jours
  • Les paramètres suivants servent à envoyer les courriels via phpMailer:
    • $smtp[0] = stripslashes('ssl0.ovh.net'); => adresse du serveur SMTP
    • $smtp[1] = stripslashes('on'); => de préférence laisser "on"
    • $smtp[2] = stripslashes('ssl'); => '' ssl ou tls à tester suivant votre serveur SMTP
    • $smtp[3] = stripslashes('465'); => N° de port SMTP, dépend du paramètre précédent
    • $smtp[4] = stripslashes('moi@mondomaine.fr'); => Votre adresse mail pour vérifier l'authentification
    • $smtp[5] = stripslashes('xxxxxxxx'); => Votre mot de passe du compte précédent
    • $smtp[6] = stripslashes(4); => niveau debogage
    • $smtp[7] = stripslashes("default"); => selecteur DKIM
    • $smtp[8] = stripslashes("clesDKIM/"); => répertoire où sont stockée les clés privées, il est créé sous /cplmail
    • $smtp[9] = stripslashes("dkim_private_"); => début nom fichier de la clé privée

Attention : le fichier config.inc doit respecter la syntaxe PHP, car il est appelé par "include".

Si vous avez déjà utlisé cplMailBat V6.00.02, Vous devez modifier votre fichier /cplmail/config.inc et rajouter les lignes pour phpMailer.

Sur un GuppY V6.00.03, vous devez installer les dernières versions des plugins pour qu'ils fonctionnent. Voir sur "Télécharger", la catégorie "Compatible CPL V6.00.03", la date du paquet est contenue dans son nom.

Sur un GuppY V6.00.09, Vous devez installer CPLcommun V6.00.09 ou V6.00.09a (s'il n'y a que ça qui vous intéresse). Vous allez ensuite dans la configuration du plugin CPLcommun installer le fork cplMailBatch et dans configuration générale,

  • vous cochez la case "Utiliser le fork cplmailbatch"
  • vous remplissez le champ "Répertoire contenant le fork cplMailBat" ; vous mettez la valeur absolue du chemin du répertoire "cplmail", vous pouvez vous aider de votre utilitaire de FTP pour le connaître, quelque chose comme /home/monidentité/cplmail/

Note de jargon pour s'y retrouver (!?) : cplmailbatch = fork de GuppY; cplMailBat = module qui contrôle les quotas (installé à la racine de l'hébergeur).

En résumé : Pour que ça fonctionne, il faut :

  1. (à faire en premier), installer le répertoire cplmail issu du zip cplmailbat à la racine de l'hébergement.
  2. dans la console de l'hébergement, activer le cron ./cplmail/cplmailbat.php
  3. pour chaque site installer le plugin CPLcommun V6.00.09 (ou 09a)
  4. pour chaque site, installer le fork cplMailBatch (en config du plugin) et cocher "utiliser le fork"

Zones DNS et clés de cryptage

Ce chapitre est indépendant du développement mais doit être présent car il y est fait référence dans le fichier config et il est nécessaire de bien configurer les enregistrements de la zone pour éviter les rejets des opérateurs tatillons. Pour chaque domaine qui utilisera le programme cplmailbatch.php, en supposant que vous êtes hébergés chez OVH, vous devez enregistrer dans la zone DNS 3 enregistrements : 

  • SPF : il indique à l'opérateur qui reçoit le mail que OVH est autorisé à l'envoyer pour le compte du domaine. Cet enregistrement ressemblera à ceci
    mondomaine.fr.   600  	SPF 	v=spf1 a mx ptr include:mx.ovh.com ~all
  • DKIM : c'est la clé publique qui est interrogée par l'opérateur lorsqu'il reçoit un courriel signé avec une "clé privée". Si les deux clés ne forment pas la "paire", le mail est rejeté en suivant la règle de DMARC. 
    default._domainkey.mondomaine.fr. 	600 	DKIM 	v=DKIM1;k=rsa;s=email;p=MIIBIjANBg....DAQAB;t=s;
    "default" est ce qui est indiqué dans la variable $smtp[7] de config et "._domainkey" doit être écrit comme ça, sans espace.
    Ce qui est derrière "p=" est la clé publique mise par copier/coller. Nous allons voir plus loin comment la générer.
  • DMARC : indique à l'opérateur ce qu'il doit faire lorsqu'il y a un problème avec DKIM ou SPF. S'il n'y a pas de DMARC, c'est l'opérateur qui décide, j'accepte? je refuse? je mets en spam? En  mettant DMARC, vous définissez une règle et l'opérateur s'y tient. Certains opérateurs exigent un DMARC, autrement dit, refusent tout mail dont le domaine expéditeur n'a pas de DMARC ! Voilà pourquoi il faut mettre un DMARC. Je conseille "p=none", c'est-à-dire accepter le mail, mais vous pouvez choisir une autre vajeur (quarantine ou reject).
    _dmarc.mondomaine.fr. 	600 	DMARC 	v=DMARC1;p=none;aspf=r;
    ...
Génération des clés 

Il faut avoir d'abord généré une paire de clés. Vous le faites soit dans un terminal par une commande soit sur un site web. Personnellement je préfère la première méthode. En supposant que vous ayez un répertoire /tmp sur votre ordinateur, auquel vous avez accès bien sûr, vous ouvrez un terminal et passez les commandes suivantes:

cd /tmp
openssl genrsa -out dkim_private_mondomaine.pem 2048
openssl rsa -in dkim_private_mondomaine.pem -pubout -outform DER | openssl base64 -A 

La Première ligne positionne sur le répertoire /tmp. La deuxième ligne génère la clé privée sur le répertoire dans le fichier "dkim_private_mondomaine.pem". Par FTP, Il faut transférer ce fichier sur le répertoire "cplmail/clesDKIM" de la racine de votre hébergement. Vous renommer le fichier pour que la fin corresponde à votre domaine (vous remplacer pem par fr ou com etc).

La troisième ligne génère la clé publique à l'écran en la corrélant à la clé privée. Vous copiez les caractères générés et les collez dans l'enregistrement DKIM du domaine (voir plus haut et faites bien attention à sélectionner tous et seulement les caractères générés). Si vous préférez, vous pouvez générer la clé publique dans un fichier, en rajoutant à la fin de la ligne
" > dkim_public_mondomaine.pem".
Puis vous ouvrer le fichier avec un editeur de texte quelconque Geany ou notepad (surtout pas traitement de texte comme LibreOffice ou word) pour faire le copier/coller. 


Date de création : 21/09/2021 - 18:29
Dernière modification : 24/01/2026 - 17:32
Catégorie : - cplMailBat
Page lue 2324 fois

Réactions à cet article

Personne n'a encore laissé de commentaire.
Soyez donc le premier !