Facteur

Un plugin pour regrouper toutes les fonctions avancées autour de l’envoi de courriels.

Important !

A partir de la version 4.3.0 si vous utilisez un fournisseur commercial pour l’envoi des mails (Mailjet, Sendinblue, Mandrill) vous devez installer en plus le plugin Mailshot pour conserver votre fournisseur d’envoi !

Introduction

SPIP propose une fonction générique envoyer_mail() pour envoyer un courriel. Elle est assez simple d’utilisation mais peut paraître limitée lorsqu’on veut configurer des options plus complexes : envoi par SMTP, ajout de pièces jointes, etc.

Le plugin Facteur propose d’intégrer proprement à SPIP la librairie PHPMailer. Pour que les fonctionnalités soient immédiatement disponibles, Facteur surcharge de manière compatible la fonction envoyer_mail().

Installation

Placer le contenu du paquet ZIP dans votre dossier plugins/ et activer Facteur dans l’interface d’administration des plugins.

Vous pouvez configurer les options d’envoi (SMTP notamment) en cliquant sur Configuration, puis sur Facteur.
Exemple en local, entrer smtp.orange.fr et port 25.

Appel de la fonction

// Chargement de la fonction
$envoyer_mail = charger_fonction('envoyer_mail', 'inc/');
// Utilisation
$ok = $envoyer_mail(...);

Utilisation

Voici d’abord la fonction standard de SPIP :

function inc_envoyer_mail($destinataire, $sujet, $texte, $from = "", $headers = ""){}
  • $destinataire : adresse de courriel du destinataire
  • $sujet : sujet du courriel
  • $texte : texte brut du message
  • $from : adresse de courriel de l’envoyeur
  • $headers : ajout d’entêtes supplémentaires au message

Avec le plugin Facteur, vous pouvez déjà utiliser cette fonction de la même façon. Ce qui signifie que le plugin ne casse pas l’existant si votre code l’utilisait déjà.

Voilà comment est déclarée la fonction dans Facteur et ce qui change :

function inc_envoyer_mail($destinataire, $sujet, $corps, $from = "", $headers = ""){}
  • $destinataire : peut être le destinataire ou bien un tableau où chaque ligne contient un destinataire
  • $corps : peut être le texte brut ou bien un tableau associatif contenant toutes les options de message

Description des options

Le tableau $corps des options se présente comme suit :

$corps = array(
	'options' => 'valeur'
);

Et voici les options possibles :

  • html : le corps du message en version HTML
  • texte : le corps du message en version texte brut
  • nom_envoyeur : le nom de l’expéditeur
  • cc : une ou des adresses de courriel à mettre en copie, soit une adresse en chaine de caractère, soit plusieurs adresses dans un tableau
  • bcc : la même chose mais en copie cachée
  • repondre_a : l’email à qui les réponses seront adressées, très utile dans le cas d’une utilisation d’un SMTP externe, qui va forcer l’envoi par un nom de domaine bien précis, dans ce cas, l’expéditeur est ce nom de domaine, et le « repondre_a » devient l’email de la personne qui devra recevoir la réponse (d’un help desk par exemple)
  • pieces_jointes : un tableau décrivant les pièces jointes, chaque élément est lui-même un tableau associatif décrivant une pièce jointe comme ça :
    • chemin : le chemin complet du fichier (chemin sur le file system, pas une URL)
    • nom : le nom du fichier
    • encodage : comment sera encodé le fichier, par exemple « base64 »
    • mime : le type MIME du fichier

Exemple :

$corps = array(
   ’html’ => $message,
   'cc' => array('truc@truc', 'bidule@bidule'),
   ’pieces_jointes’ => array(
           array(’chemin’ => $chemin_absolu,
           ’nom’ => ’azerty’,
           ’encodage’ => ’base64’,
           ’mime’ => ’image/jpeg’)
           )
    );

Exemples d’usages

-  On pourra par exemple utiliser un squelette existant pour générer le message HTML :

$html = recuperer_fond("inclure/mail", array('id_article' => $id_article));

-  Générer le message HTML avec une variable $texte en utilisant le squelette d’email fourni par le plugin

$html = recuperer_fond("emails/texte", array('texte' => $texte));

-  Générer le message HTML avec une variable $html en utilisant le squelette d’email fourni par le plugin

$html = recuperer_fond("emails/texte", array('html' => $html));

-  Inversement, on pourra générer la version texte du message à partir de sa version HTML en utilisant la méthode html2text de la classe Facteur :

$facteur_mail_html2text = charger_fonction('facteur_mail_html2text', 'inc');
$message_texte = $facteur_mail_html2text($message_html);

-  Enfin, on pourra rassembler ces éléments dans le tableau avant de les envoyer :

$corps = array( 
    'html' => $html, 
    'texte' => $texte, 
    'nom_envoyeur' => $nom_envoyeur 
);

Activer le mode débug

Si l’envoi des envois échoue, vous pouvez activer le mode débug
Ajouter dans votre fichier config/mes_options.php

define('_LOG_FILTRE_GRAVITE', 8);
define('_FACTEUR_DEBUG_SMTP',4); // 0,1,2,3,4  est la valeur la plus verbeuse

Discussion

144 discussions

  • 2

    Bonjour,

    Pour mettre à jour phpmailer, il suffit de remplacer la lib ?

    • Je suis aussi intéressé par la question dans la mesure ou une alerte de sécurité sur la librairie a été publiée dernièrement.
      Merci.

    • Il faut remplacer la lib et possiblement les chemins dans les utilisations si le nom de dossier a changé. S’il y a eu des mises à jour récemment oui faut proposer une mise à jour, si quelqu’un se sent de faire une PR sur le projet Git. Dans tous les cas ce serait mieux de faire un ticket qu’ici où c’est pour du support à l’utilisation.
      https://git.spip.net/spip-contrib-extensions/facteur/issues

    Répondre à ce message

  • 3
    Vincent

    Je reviens avec une petite question concernant le paramétrage de ce plugin : est-il possible d’imposer un paramétrage par fichier ?

    En effet, le même paramétrage de SMTP doit être utilisé pour toute une série de sites : déployer le plugin avec sa configuration dans /config serait un gros + !

    • C’est une fonctionnalité qui ne serait pas propre à ce plugin, et non ça n’existe pas, SPIP ne permet pas ça.

      En revanche il y a peut-être pour toi le plugin « Import/Export de configuration », qui permet d’enregistrer une série de configuration dans un fichier (yaml je crois) qu’on peut alors importer dans d’autres sites, sans avoir à recocher ou remplir tous ces champs (mais il faut quand même faire l’opération d’importer). Ça me fait penser que ce plugin (import/export) pourrait avoir des commandes SPIP-Cli pour faire ça sans avoir besoin d’aller dans l’admin de chacun des sites.

    • Vincent

      Merci pour ce retour !
      Je vais tester ce plugin d’import/export de config ;-)

    Répondre à ce message

  • 2
    Vincent

    Je souhaite légèrement surcharger le template emails/texte.html dans un plugin dédié pour l’envoi des mails automatiques (interactivité).
    Mais en recopiant la même arborescence (plugins/mon-plugin-email/emails/texte.html) ce template n’est pas pris en charge : quelle(s) action(s) faut-il effectuer en plus ?

    • Ton plugin doit absolument nécessiter ou utiliser (dans son xml) le plugin à surcharger, pour être sûr de passer après, par dessus.

    • Vincent

      C’est bien cela :
      <necessite nom="Facteur" compatibilite='[4.1.0;]' />

      Merci beaucoup !

    Répondre à ce message

  • 3

    Bonsoir,

    Depuis 2 jours facteur refuse de fonctionner. Il est paramétré depuis longtemps avec un smtp externe. Quand j’envoie un message de test, je recois le message
    SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
    Le monitoring du facteur affiche bien évidemment un message d’erreur.
    Rien n’a changé sur le serveur
    Je suis en SPIP 3.2.7 [24473] et facteur 4.0.4 : je viens de passer en version 4 pour tester
    Si quelqu’un a une piste, d’avance merci

    • Bé si ça ne marchait pas déjà d’un coup avant de faire mise à jour, peut-être qu’il y a des problèmes ou modifs *sur le SMTP* justement non ? Donc à voir avec l’hébergeur ? Le SMTP fonctionne sur d’autres outils (thunderbird etc) avec les mêmes identifiants ?

    • Rien n’a changé, le service mail fonctionne parfaitement sur d’autres outils.
      J’ai testé avec un autre mail qui fonctionne très bien également sur un autre hébergeur et dès que j’essaie sur facteur, bingo le message est le même.
      Le problème est le même sur 2 sites spip sur le même serveur et qui utilisent le même smtp
      Aucun changement de firewall, de dns, de ssl, etc...

    • Facteur n’a pas changé depuis 2 jours, donc si tu dis que ça marchait encore il y a 3 jours et que ensuite depuis 2 jours ça ne marche plus, il n’y a (à priori) pas de raison que ça vienne de Facteur. SI s’il y a justement eu une mise à jour de faire juste avant que ça ne marche plus.

    Répondre à ce message

  • 6

    Bonjour à toutes et à tous,
    Je suis sur Spip 3.2.5, Facteur 3.7.2 et Formidable 3.46.7, site hébergé chez OVH.
    Depuis quelques temps, mais je n’ai pas vraiment vu QUAND et surtout POURQUOI ?
    Les formulaires n’arrivent plus !
    Après être remonté au plugin Facteur, les messages de tests partent bien, mais n’arrivent pas, avec :
    « L’email de test a correctement été envoyé. Si vous ne le recevez pas correctement, vérifiez la configuration de votre serveur ou contactez un administrateur du serveur. »

    Des directions ???
    par avance, merci.
    Alain

    • Si SPIP ne dit rien de mal, je suppose que c’est à OVH qu’il faut demander. C’est configuré pour envoyer avec quoi, la fonction mail() de PHP ou un SMTP configuré ?

    • Merci je pensais pareil, mais sans savoir ou chercher ?
      Sinon, j’étais en fonction mail php, quand ça ne marchait plus, j’ai essayé en SMTP, mais sans plus de résultat.
      Je continue ma recherche...

    • Merci, je viens de tester avec une page mail.php et :

      <?php
       $to      = 'personne@example.com';
       $subject = 'le sujet';
       $message = 'Bonjour !';
       $headers = 'From: webmaster@example.com' . "\r\n" .
       'Reply-To: webmaster@example.com' . "\r\n" .
       'X-Mailer: PHP/' . phpversion();
      
       mail($to, $subject, $message, $headers);
       ?>

      Et c’est passé !
      je continue ma recherche ...
      Merci à ceux qui ont connu ce problème de me donner des directions même celles qui se sont avérées pas bonnes

    • Bonjour

      Je viens de faire des tests également, Sylvain m’ayant dit que son site https://sylvain-gillet.fr ne semblait pas envoyer de mails. C’est chez OVH aussi. A priori les tests sont positifs.
      La personne qui avait dit qu’elle avait écrit via le site ne l’a peut-être finalement pas fait...

      Est-ce que Facteur est supposé stocker les messages dans la BDD ? Et si oui à quel endroit ? Voilà qui permettrait de vérifier.

      Merci

    • non, le facteur ne sauve pas les messages en bdd.

      Tu peux par contre loguer l’ensembel des mails du facteur en mettant dans mes_options,php

      define('_LOG_FACTEUR',_LOG_INFO_IMPORTANTE);
    • Toujours aussi rapide ! :)

      Merci

    Répondre à ce message

  • 6

    Ça serait quand même bien pratique de pouvoir envoyer un mail avec un contenu html qui utilise lui aussi l’habillage générique utilisé pour les mails en texte.

    Qu’on puisse faire $envoyer_mail($dest, $sujet, $texte, $exp); tout simplement, et que le facteur compose tout seul en multipart, que $texte soit du html ou pas :

    • la partie texte brut avec Facteur::html2text($texte)
    • la partie html avec recuperer_fond("emails/texte",array('texte'=>$texte,'sujet'=>$sujet));

    Du coup, le nom du template emails/texte ne serait plus logique, mais à garder pour la compat.

    Qu’en pensez vous ?

    • En fait ya déjà une fonction fournie, qui contient un test pour savoir si c’est vraiment du texte brut OU du semi-html simplifié (pas le html complet). C’est la fonction facteur_email_wrap_to_html.

      Si tu as du morceau de html basique (un texte, un bouton, un gros lien joli etc) dans un squelette, dedans tu ajoutes #FILTRE{facteur_email_wrap_to_html} et c’est tout, ton email utilisera l’entourage commun et donc cohérent avec l’ensemble de tes emails.

      On pourrait imaginer qu’il y ait un test plus compliqué/complet dans envoyer_mail qui fasse tout ça au même endroit du genre
      -  si ya aucune balise c’est du texte brut, on envoie à l’entourage dans le contexte « texte »
      -  si ya des balises, et qu’il y a </body> mais PAS </html>, c’est un html basique, on envoie à l’entourage dans le contexte « html »
      -  si ya </html> c’est un html complet, on fait rien, on le laisse comme ça

      Pour l’instant envoyer_mail fait la distinction texte brut VS html. Et le filtre à mettre dans #FILTRE fait la distinction entre texte brut et semi html et ajoute l’entourage.

    • Je confirme, #FILTRE{facteur_email_wrap_to_html} fonctionne bien, dans les /mails comme dans les /notifications

      J’ai donc surchargé celles de Formidable parce que de base elles sont vraiment toutes moches : une liste de saisies brutes en Times, noir et blanc, sans entête, avec juste un peu de gras pour égayer.
      C’est pas le Pérou mais ça fait un peu moins brut de décoffrage.

      On pourrait peut être leur mettre ce filtre par défaut, non ?

    • Si ya bien toutes les dépendances (à priori oui puisque ça nécessite Facteur), carrément oui !

    • nicod, cela donnerait quoi en capture d’écran ? Parce que personnellement je trouve que les mails de notifs que je recois avec notifications sont hyper chargé. Il y a un entête hyper long avant d’arriver au contenu. Le côté hyper sobre des mails de Formidable, j’apprécie. On arrive directement aux réponses...

    • (EDIT : Oups pas posté au bon endroit)
      Le modele standard de mail de Facteur ajoute un bandeau en haut et utilise 4 niveaux de tables imbriquées. C’est difficile de faire « répondre » à un tel mail (avec thunderbird en tout cas) : car ça insère plein d’espaces vides là où on s’insère pour répondre - si bien que la réponse doit se faire plus bas aprés avoir scrollé sur un autre écran, loin du texte auquel on répond (J’imagine que c’est à cause des padding et margins par défaut des 15 niveaux d’imbrication qu’il y a au total dans le HTML).

      Ça n’est pas gênant pour une newsletter de pure information sans attente de réponse, mais c’est inadapté pour des mails auxquels on doit pouvoir répondre. En fait, dans mon cas présent, un simple mail en texte irait bien. Mais y a t il un moyen d’envoyer des mails simplement au format TEXTE avec Facteur ?
      Ou sinon quel modèle HTML de mail serait recommandé pour ne pas rencontrer cette difficulté de réponse ?

    • Pour résoudre ce pb j’ai créé un template simplifié (surcharge squelette de emails/texte.html) :

      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <html>
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>[(#ENV*{sujet})]</title>
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
      </head>
      <body leftmargin="0" marginwidth="0" topmargin="0" marginheight="0" offset="0"
        style="margin: 0;padding: 0;width: 100% !important;background-color: #DDDDDD;">
      <center>
        <div class='text' style="color:#222222;font-family: Verdana, Geneva, sans-serif;font-size:100%;line-height:150%;text-align:left;word-wrap:break-word;">
          [(#ENV*{html,#ENV*{texte}|replace{'<','&lt;'}|facteur_nl2br_si_pas_autobr|propre|replace{'<br />\s*<br />(\s*<br />)+?','<br /> <br />'}|concat{'<br /> <br />'}})]
        </div>
      </center>
      </body>
      </html>

    Répondre à ce message

  • 22

    bonjour,
    un mail de test avec facteur arrive bien dans ma boite mais un mail avec le formulaire contact de spip 3.2 arrive en spam. Avez vous une idée du pb ?

    • Un mail au même destinataire ? Un problème de qui est dans le champ « from » ? La même chose dans les deux ?

      Pour savoir pourquoi un mail est en spam, il faut regarder les entêtes de l’email, normalement le système d’antispam du fournisseur ajoute des infos (enfin si c’est le fournisseur qui l’a mis en spam et pas le client email final comme thunderbird ou autre). Donc faut faire voir la source de l’email et copier les entêtes concernant le spam.

    • j’ai fait plusieurs tests avec des destinataires différents ( orange, gmail ) et des envoyeurs ( orange, gmail) avec bien sur le même destinataire/envoyeur dans le test contact et dans celui facteur.

      résulats des test :

      https://www.mail-tester.com/test-5en2f
      https://www.mail-tester.com/test-bagjo

    • Bah aucun n’est du spam donc. Après la règle FREEMAIL_FORGED_REPLYTO de spamassassin, qui fait un peu baisser, je ne sais pas à quoi elle correspond

    • apparemment je n’avais pas remplis la case reply de facteur ... mais bon cela ne change rien

    • Le plugin FACTEUR surcharge le formulaire de contact de spip ( dans la dist).

      J’avais ce formulaire contact dans le dossier formulaire du dossier des squelettes ... donc je surchargeais à mon tour par le formulaire de contact d’ ou le pb de mise en indésirable des mails envoyé par des internautes via le site avec Facteur activé.

      une fois ce formulaire enlevé —> Cela fonctionne très bien

    • Bonjour,

      J’ai le même problème que Baloo depuis un peu plus d’un mois sur un spip 3.1 avec formulaire de contact avancé + facteur (tous deux à jour). Avant cela et depuis des mois, ça fonctionnait parfaitement et rien n’a été changé au moment où le problème est apparu.

      Contrairement à Baloo, je n’ai pas surchargé le formulaire donc ça ne vient pas de là.

      Je reçois l’email test envoyé via le plugin facteur mais pas un mail envoyé via le formulaire en ligne. Si je désactive Facteur, je reçois le mail envoyé via le formulaire.

      Un test sur mail-tester (avec facteur activé) me renvoie des infos étranges, indiquant notamment que le SPF record n’est pas renseigné sur le domaine (alors qu’il l’est) et me donne un SPF différent de celui qui y est (et qui est correct).

      https://www.mail-tester.com/test-18ucz

      J’avoue ne pas avoir grand chose comme compétence dans la config des domaines et des serveurs et que j’ai un peu de mal à décrypter tout ce que me renvoie mail-tester, mais j’ai le sentiment que c’est l’adresse email forcée dans le from par Facteur qui fout le b***.

    • Pour info je n’avais pas surcharger le formulaire de la dist mais je l’avais placé dans squelettes/formulaires.
      avec le temps, je modère ma réponse... cela fonctionne en partie une fois ce formulaire enlevé.. Je n’ai plus de pb avec mon adresse ( orange) et celle reconnue par le serveur ( celle dans identité spip) par contre tous les emails ( free,..) ne fonctionnent pas correctement dès qu’il y a facteur et fonctionnent sans. .. et si j’enlève facteur ..formidable ne fonctionne plus.
      Je n’utilise pas « forcer cette adresse » car dans ce cas l’auteur/visiteur (responsable d’un groupe) qui reçoit le mail envoyé par un internaute n’a plus le mail pour répondre et je ne peux pas leur demander de regarder dans l’entête.

    • Bonjour,

      Envoyer des emails avec orange ou free pose des problèmes car les ip sont pas les bonnes.
      Il faut faire un mail tester avec une email de votre domaine pour avoir les bon retour.

    • Le pb n’est pas d’envoyer par facteur un mail, par exemple pour des mailings , cela fonctionne.
      Le pb apparait quand un internaute XX veut envoyer un mail à un auteur/visiteur du site .

      1- le test facteur est ok, l’envoi avec un e mail du domaine et depuis et vers un email orange ( et d’autres )fonctionne avec facteur. Je suis en copie sur facteur et reçois bien les mails mais le destinataire non.

      2- Le site spip a un email du domaine déclaré dans identité et facteur.

      3- Celui qui envoi le mail est un internaute LAMBDA qui écrit pour demander un renseignement .... DONC JE NE PEUX PAS MAITRISER SON MAIL
      4- Celui qui reçois le mail est un responsable de groupes, ils sont nombreux .... je ne peux pas lui donner systématiquement un mail du domaine et il y a plusieurs sites. Il y a un pb suivant le mail du RECEVEUR

      5- pas de pb si facteur est enlevé

      j’ai contourné le pb en mettant le mail du domaine ( celui déclaré dans le site) en copie systématique et en faisant router sur chaque site ce mail vers un responsable de l’assos du site qui se charge de redistribuer les mails aux destinataires ..

    • En fait l’idéal est de définir l’adresse du webmaster du site en tant qu’émetteur et mettre l’adresse du visiteur en « reply to ».
      Comme cela tous les messages émis par le site le sont avec un adresse qui peut être correctement authentifiée par les différents serveurs et l’adresse saisie par le visiteur est visible dans le champ « répondre ». On peut en plus ajouter l’adresse du visiteur dans le corps du mail si besoin.

    • Oui effectivement c’est une bonne solution.
      Par contre, cela signifie bricoler le formulaire de contact /php ...
      ce ne serait pas possible d’avoir un exemple dans facteur ?

    • il y a une option dans facteur pour faire cela automatiquement.

    • pas bon... si je coche « Forcer cette adresse d’envoi quand le From n’est pas sur le même domaine » le mail va dans les indésirables ( destinataires orange) et de plus je ne vois pas le champ répondre sauf si je regarde spécifiquement l’entête du mail ce que je ne peux pas demander aux personnes qui reçoivent le mail.
      Le mail de test par contre arrive bien.
      je ne vois pas d’autre option

    • Franchement c’est pas très clair de quelle info est à quelle endroit là.

      Pour être très précis, normalement l’email de l’envoyeur (entête « From ») DOIT être une adresse dont le domaine est le même que le site, ou a bien l’autorisation d’envoyer par ce site (ya des techniques pour ça). Donc une adresse ou quelques adresses qui sont MAITRISÉES, et en petit nombre.

      Et ensuite si c’est un⋅e inconnu⋅e quelconque qui écrit un message, son adresse DOIT être dans l’entête Répondre à (« Reply-To »).

      Si ce n’est pas le cas, c’est qu’il y a un problème, oui.

      Mais si c’est bien le cas et que tel client webmail (de merde) d’Orange ou autre, ne sait pas utiliser l’entête « Reply-To » alors qu’il DOIT utiliser ce champ quand il est présent pour remplir le champ « To » d’une réponse, là on n’y peut rien. C’est le comportement officiel, standard, de la norme des emails. Donc si ça suit pas les normes internationales…

    • le reply to est correct mais .lorsque la case « forcer l’adresse .. » est coché le mail va dans les spams

    • Mais « Forcer l’adresse » ça veut rien dire en soi, quelle adresse, j’ai parlé de truc précis : ya quoi dans l’entête « reply-to » (mais ça on s’en fout ça peut être ce qu’on veut) et ya quoi dans l’entête « from ».

      Ce qui est dans l’entête « from » DOIT avoir un rapport avec le SMTP qui envoie les emails, normalement, sinon ça pose des problèmes de légitimité.

    • cas 1 -

      1-le mail n’est pas reçu par le receveur
      2- le mail est reçu par l’expediteur dans indesirable

      entete du mail : il y a une inversion
      To : le mail de l’expediteur X
      From : le mail du receveur Y

      des mails envoyés par un internaute X via le formulaire standard de spip #FORMULAIRE_ECRIRE_AUTEUR vers des auteurs ou visiteurs Y

      configuration suivante :
      -  dans adresse du webmestre : adresse du domaine
      -  facteur activé
      -  paramétrage facteur :
      adresse d’envoi : utiliser les paramétrage du site spip
      et forcer cette adresse d’envoi( celle du webmestre) quand l’expediteur n’est pas du même domaine
      et SMTP

    • Bonjour
      forcer l’adresse : c’est le paramétrage utilisé dans facteur pour mettre l’adresse du webmaster en envoyeur. Le formulaire est le standard spip
      Le reply to est bon, le from est bon
      désolé mais je m’étais emmêlé avec l’envoi des mails, étant connecté sur spip mon mail s’était mis en expéditeur au dernier test.

      le pb : le mail va systématiquement en indésirables chez le récepteur et la personne en copie si l’envoyeur est du domaine du serveur.
      résultat test 7.7 : https://www.mail-tester.com/test-q2qok&reloaded=1

      le mail ne va pas toujours dans indèsirables . expéditeur non remplacé par adresse du domaine
      resultat test 8.7
      https://www.mail-tester.com/test-mczd2&reloaded=1

    • Bonjour,

      De mon côté, je pense avoir trouvé la solution.

      Pour rappel :

      –> le formulaire de contact avancé seul : le mail arrivait (mais le reply to est d’office l’adresse du webmaster et c’est ça qui m’ennuie et qui me pousse à installer facteur)
      –> le formulaire de contact + facteur n’arrivait pas.

      La config, initialement (qui fonctionnait jusque mi-novembre et puis plus) :

      –> le site a un nom de domaine A
      –> l’adresse du webmaster était sur le nom de domaine B
      –> le réglage personnalisé dans facteur mentionnait une adresse gmail (le proprio du site n’a pas de client mail et ne souhaite pas la contrainte d’aller relever une boîte sur le domaine A)

      Résultat des tests

      –> Facteur avec adresse d’envoi personnalisée ET forcer l’adresse from : le mail n’arrive pas.
      –> Facteur avec adresse d’envoi personnalisée SANS forcer l’adresse from : le mail n’arrive pas.
      –> Facteur avec « réglages du site Spip » ET forcer l’adresse from : le mail arrive.
      –> Facteur avec « réglages du site Spip » SANS forcer l’adresse from : le mail arrive.

      Le souci semble donc venir de l’option « Personnaliser ces réglages » de Facteur.
      J’ai remis l’adresse Gmail du proprio comme adresse du webmaster dans la config générale du site Spip et ça fonctionne.

      Du coup, je ne sais pas trop à quoi sert le forçage de l’adresse from mais bon... :)

      Je m’attaque maintenant à un nouveau formulaire via Formidable et je croise les doigts (vu que Baloo semblait avoir un souci que quand l’un fonctionnait, l’autre ne fonctionnait pas).

    • À partir du moment où Formidable est utilisé sur le site, il n’y a absolument plus d’intérêt à avoir Contact avancé, puisque justement Formidable a été créé pour pouvoir faire autant de formulaires personnalisés qu’on veut dans un même site. Donc autant n’utiliser que Formidable, c’est bien plus simple (et plus complet, et maintenu).

      Pour les réglages, la première chose qui dépend c’est *qui envoi*, quel est le serveur SMTP, celui du serveur PHP ou un autre configuré. Et ensuite tout dépend de lui uniquement, de quels adresses ce serveur SMTP accepte comme From. Et ça ben ça dépend de chaque serveur SMTP (et quand ça utilise le SMTP du serveur PHP, ça dépend de l’hébergeur).

    • « (...) il n’y a absolument plus d’intérêt à avoir Contact avancé »
      — > très juste, merci. :-)

      Chez moi, c’est réglé en PHP. Je suis chez Planethoster et apparemment, ça fonctionne avec les réglages sus-mentionnés.

    • Juste pour dire que je n’utilise pas le formulaire de contact avancé mais le formulaire standard de la dist de spip .

    Répondre à ce message

  • Bonjour,
    Impossible d’utiliser depuis un hébergement mutualisé OVH
    J’ai essayé plusieurs configurations en PHP ou en SMTP.
    Avez-vous une idée ?
    Merci
    Cordialement

    Répondre à ce message

  • 6
    Jaseur Boréal

    Bonjour

    Facteur affiche SMTP Error : Could not connect to SMTP host. lors de tests d’envois par le sous-domaine SMTP de mailjet "in-v3.mailjet.com". Pourtant les tests-infolettres du plugin Newsletters partent correctement et sont réceptionnées dans les minutes suivantes. Je n’ai pas testé d’envois réels d’infolettres.

    Merci de toutes solutions pour optimiser les réglages sur un spip 3.2 à jour avec « Facteur 3.5.0 » + « MailShot 1.22.4 » et "Newsletters 1.5.3 " dernières versions stables.

    J’ai vérifié que dans « Facteur » et dans « Mailshot » les réglages de ports soient similaires.

    Les tests de départs de courriels de Facteur semblent tourner indéfiniment avant d’afficher des erreurs type : « SMTP Error : Could not connect to SMTP host. »
    Les emails de tests ne partent pas quelques soient les réglages de port ou de connexion sécurisée TLS , SSL ou pas. J’ai aussi posé la question à Cédric pour Mailshot

    Hier, à ma demande, les techniciens chez Mailjet ont migré mon compte d’une vieille version « V1 in.mailjet.com » vers la dernière version « in-v3.mailjet.com ».
    Les clés ne changent pas, seul le réglage du choix de sous-domaine Mailjet a été modifié dans Facteur & Mailshot pour la V3 avec la configuration de Mailshot bien enregistrée.

    Les réglages actuels, tels qu’ils fonctionnaient auparavant :

    • Réglages utilisés du plugin Facteur & Mailshot :
    • Utiliser SMTP Hôte : in-v3.mailjet.com
    • Port : 465
    • Requiert une authentification : oui
    • Nom d’utilisateur : xxxx
    • Mot de passe : yyyy
    • Connexion sécurisée : TLS (recommandé
    • Validation du certificat SSL le certificat SSL du serveur SMTP est émis par une Autorité de Certification (recommandé).

    Avez- vous une idée d’un réglage oublié ?

    Merci pour toute piste de solution.

    • Bonjour
      Un problème vient d’apparaître lors de l’envoi de notre infolettre.
      SMTP Error : Could not authenticate.
      nous avons deux plugins pour notre infolettre
      mailshot & facteur, nous n’avons rien touché depuis notre dernier envoi qui avait bien fonctionné.
      Pouvez vous nous aider à trouver le problème ?
      merci
      Fred
      www.goupilconnexion.org

    • Changement chez votre hébergeur ? Du genre politique de sécurité, TLS etc ? Ou modification de votre mot de passe du compte email utilisé ?

    • Ok merci
      je vais voir chez notre hébergeur.
      Pour notre configuration est ce que cela vous parait correct ?
      merci
      Fred

      -  Utiliser SMTP OUI

      -  Requiert une authentification OUI

      Connexion sécurisée : =>SSL (déprécié)
      Validation du certificat SSL =>le certificat SSL du serveur SMTP est auto-signé.
      Adresse de retour des erreurs (optionnel) =>Définit dans l’entête du mail l’adresse email de retour des erreurs (ou Return-Path)

    • Bé je ne peux rien en savoir, c’est à la doc de ceux chez qui vous avez votre serveur SMTP de dire ce qui convient. :)

    • OK merci je vais voir de ce coté
      Fred

    • OVH me confirme que tout va bien sur mon courrier et les smtp et autre sont bien configurés.
      pas facile cette histoire !
      qu’est ce que je pourrait bien vérifier ?

    Répondre à ce message

  • 3

    PROBLEME AVEC SPIP 3.2 et FACTEUR 3.4.11

    Depuis la mise à jour SPIP, le lien de confirmation dans un mail est codé avec des balises HTML visible :

        <pre> <br><center><span style="display: inline-block;"><!--[if mso]>
        <v:roundrect xmlns:v="urn:schemas-microsoft-com:vml"
        xmlns:w="urn:schemas-microsoft-com:office:word"
        href="https://reporterre.net/spip.php?action=confirm_mailsubscriber&email=dominique.lhermite%40sfr.fr&arg=734b29e5ce522029c45b93f4abbb35bcae0e87d9"
        style="height:40px;v-text-anchor:middle;width:250px;" arcsize="10%"
        strokecolor="#1e3650" fillcolor="#556270"> <w:anchorlock/> <center
        style="color:#ffffff;font-family:sans-serif;font-size:13px;font-weight:bold;">M'inscrire
        à la Newsletter</center> </v:roundrect> <![endif]--><a
        href="https://reporterre.net/spip.php?action=confirm_mailsubscriber&email=dominique.lhermite%40sfr.fr&arg=734b29e5ce522029c45b93f4abbb35bcae0e87d9"
        style="background-color:#556270;border:1px solid
        #1e3650;border-radius:4px;color:#ffffff;display:inline-block;font-family:sans-serif;font-size:13px;font-weight:bold;line-height:40px;text-align:center;text-decoration:none;width:250px;-webkit-text-size-adjust:none;mso-hide:all;">M'inscrire
        à la Newsletter</a></span></center><br> </pre>

    Le fichier /newsletter/emails/inc-button.html serait en cause.

    Possible de le revoir ou bien on tripatouille dans le php ?

    Merci à vous,
    Julien

    • Ce code vient du plugin Newsletters, pas de Facteur non ? Plutôt demander dans le forum du plugin en question ?

      Enfin je ne sais pas mais « emails/inc-button » est dans Facteur, mais ya pas « newsletters/emails/inc-button » ça ça n’existe pas.
      Et dans le plugin Newsletters il y a un « newsletters/inc/button » par contre.
      Donc ya confusion là…

      Il y a des « pre » généré, mais pourquoi ? Comme une sécurité on dirait.

    • Le code HTML problématique venait bien du plugin facteur (génération d’un bouton de lien), mais le bug provenait d’une incompatibilité entre une nouvelle mesure de sécurité de SPIP 3.2 et le plugin newsletter ou facteur.

      En tout cas, tout est corrigé par les auteurs de ces plugins ! Merci à eux.

    • Pas pour moi - j’ai réinstallé le plugin facteur mais le problème persiste...

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom