From 8d49678ce4f8f013ee5fa6a38b7d8de70c231c2f Mon Sep 17 00:00:00 2001
From: "cedric@yterium.com" <>
Date: Wed, 29 Feb 2012 14:44:15 +0000
Subject: [PATCH] =?UTF-8?q?Gestion=20des=20from=20sur=20les=20emails=20env?=
 =?UTF-8?q?oy=C3=A9s=20post=20saisie=20:=20il=20faut=20garder=20le=20from?=
 =?UTF-8?q?=20par=20defaut=20de=20SPIP=20car=20sinon=20on=20ne=20peut=20pa?=
 =?UTF-8?q?s=20utiliser=20les=20SMTP=20un=20peu=20s=C3=A9curis=C3=A9s,=20e?=
 =?UTF-8?q?t=20de=20plus=20un=20mail=20avec=20m=C3=AAme=20dest=20et=20from?=
 =?UTF-8?q?=20a=20toutes=20les=20chances=20de=20se=20faire=20arr=C3=AAter?=
 =?UTF-8?q?=20par=20les=20antispams...?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 plugin.xml        |  2 +-
 traiter/email.php | 13 ++++++++++---
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/plugin.xml b/plugin.xml
index 7c6f4721..1be077e0 100644
--- a/plugin.xml
+++ b/plugin.xml
@@ -3,7 +3,7 @@
 	<slogan>G&#233;n&#233;rateur de formulaires</slogan>
 	<auteur>RastaPopoulos, [Les Développements Durables->http://www.ldd.fr]</auteur>
 	<licence>GPL v3</licence>
-	<version>1.1.0</version>
+	<version>1.1.1</version>
 	<version_base>0.5.1</version_base>
 	<etat>dev</etat>
 	<description>Cr&#233;ation de formulaires avec une interface graphique et configuration des traitements associ&#233;s (envoyer par courriel, enregistrer les r&#233;ponses, etc).</description>
diff --git a/traiter/email.php b/traiter/email.php
index 79f365ce..143a596c 100644
--- a/traiter/email.php
+++ b/traiter/email.php
@@ -114,13 +114,18 @@ function traiter_email_dist($args, $retours){
 			'texte' => $texte,
 			'nom_envoyeur' => $nom_envoyeur
 		);
+		// on mets le couriel de l'envoyeur dans Reply-To et on laisse
+		// le from par defaut de Facteur car sinon ca bloque sur les SMTP un peu restrictifs
+		if ($courriel_envoyeur){
+			$corps['repondre_a'] = $courriel_envoyeur;
+		}
 		
 		// On envoie enfin le message
 		$envoyer_mail = charger_fonction('envoyer_mail','inc');
 		
 		// On envoie aux destinataires
 		if ($destinataires)
-			$ok = $envoyer_mail($destinataires, $sujet, $corps, $courriel_envoyeur, "X-Originating-IP: ".$GLOBALS['ip']);
+			$ok = $envoyer_mail($destinataires, $sujet, $corps, "", "X-Originating-IP: ".$GLOBALS['ip']);
 		
 		// Si c'est bon, on envoie l'accusé de réception
 		if ($ok and $courriel_envoyeur and $options['activer_accuse']){
@@ -166,8 +171,10 @@ function traiter_email_dist($args, $retours){
 				'texte' => $texte,
 				'nom_envoyeur' => $nom_site_spip
 			);
-			
-			$ok = $envoyer_mail($courriel_envoyeur, $sujet_accuse, $corps, $courriel_envoyeur, "X-Originating-IP: ".$GLOBALS['ip']);
+
+			// Ne pas mettre from=$courriel_envoyeur car ça declenche facilement les antispams
+			// garder le from par defaut de facteur (ou celui du site)
+			$ok = $envoyer_mail($courriel_envoyeur, $sujet_accuse, $corps, "", "X-Originating-IP: ".$GLOBALS['ip']);
 		}
 		
 		if ($ok){
-- 
GitLab