Valider 49cb44c8 rédigé par maieul@maieul.net's avatar maieul@maieul.net
Parcourir les fichiers

L'option forcer_from fait deux choses:

  - changer l'adresse d'envoi si domaine différent de celle du webmestre
  - et, si on change l'adresse d'envoi, changer aussi le nom de
  l'expediteur

Le premier point permet de fonctionner avec des serveurs SMTP stricts,
qui vérifient le domaine.

Toutefois, on peut vouloir garder le nom expediteur, même si on change
l'adresse expeditrice (ce que fait, par ex, Formidable lorsqu'on ne
force pas le champ From).

Une nouvelle option permet cela.
parent ee5a1a33
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+8 −3
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -54,7 +54,7 @@ class Facteur extends PHPMailer {
		// On récupère toutes les options par défaut depuis le formulaire de config
		$defaut = array();
		foreach (array(
			'adresse_envoi', 'adresse_envoi_email', 'adresse_envoi_nom', 'forcer_from',
			'adresse_envoi', 'adresse_envoi_email', 'adresse_envoi_nom', 'forcer_from', 'garder_fromname',
			'cc', 'bcc',
			'smtp', 'smtp_host', 'smtp_port', 'smtp_auth',
			'smtp_username', 'smtp_password', 'smtp_secure', 'smtp_sender', 'smtp_tls_allow_self_signed',
@@ -106,10 +106,13 @@ class Facteur extends PHPMailer {
		// si forcer_from, on sauvegarde le From et FromName par defaut, qui seront utilises
		// si From n'est pas dans le meme domaine
		// (utiliser le facteur avec un service externe qui necessite la validation des domaines d'envoi)
		// On peut avoir une sous-option garder_fromname pour garder le FromName passé
		if ($options['forcer_from']=='oui'){
			$this->ForceFrom = $this->From;
			if ($options['garder_fromname']!='oui') {
				$this->ForceFromName = $this->FromName;
			}
		}

		$this->CharSet = "utf-8";
		$this->Mailer = 'mail';
@@ -437,9 +440,11 @@ class Facteur extends PHPMailer {
				$this->AddReplyTo($this->From,$this->FromName);
				// on force le From
				$this->From = $this->ForceFrom;
				if ($this->ForceFromName) {//null si jamais garder_fromname était activé
					$this->FromName = $this->ForceFromName;
				}
			}
		}
		$args = func_get_args();
		return $this->callWrapper(array('parent','Send'),$args);
	}
+12 −0
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -45,6 +45,18 @@
								<label for="#GET{name}_#GET{val}"><:facteur:label_facteur_forcer_from:></label>
							</div>
						</li>
						#SET{name,facteur_garder_fromname}#SET{obli,''}#SET{defaut,''}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
						<li class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">[
							<span class='erreur_message'>(#GET{erreurs})</span>
							]
							<div class="choix">
								#SET{val,non}
								<input type="hidden" name="#GET{name}" value="#GET{val}" />
								#SET{val,oui}
								<input type="checkbox" name="#GET{name}" class="checkbox" id="#GET{name}_#GET{val}" value="#GET{val}"[(#ENV{#GET{name},#GET{defaut}}|=={#GET{val}}|oui)checked="checked"] />
								<label for="#GET{name}_#GET{val}"><:facteur:label_facteur_garder_fromname:></label>
							</div>
						</li>
					</ul>
				</fieldset>
			</li>
+4 −0
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -17,6 +17,7 @@ function formulaires_configurer_facteur_charger_dist() {
		'facteur_adresse_envoi_nom'         => lire_config('facteur_adresse_envoi_nom'),
		'facteur_adresse_envoi_email'       => lire_config('facteur_adresse_envoi_email'),
		'facteur_forcer_from'               => lire_config('facteur_forcer_from'),
		'facteur_garder_fromname'           => lire_config('facteur_garder_fromname'),
		'facteur_smtp'                      => lire_config('facteur_smtp'),
		'facteur_smtp_host'                 => lire_config('facteur_smtp_host'),
		'facteur_smtp_port'                 => lire_config('facteur_smtp_port', 25),
@@ -131,6 +132,9 @@ function formulaires_configurer_facteur_traiter_dist() {
	$facteur_forcer_from = _request('facteur_forcer_from');
	ecrire_meta('facteur_forcer_from', ($facteur_forcer_from=='oui')?'oui':'non');

	$facteur_garder_fromname = _request('facteur_garder_fromname');
	ecrire_meta('facteur_garder_fromname', ($facteur_garder_fromname=='oui')?'oui':'non');

	$facteur_smtp = _request('facteur_smtp');
	ecrire_meta('facteur_smtp', ($facteur_smtp=='oui')?'oui':'non');

+1 −0
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -58,6 +58,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(

	// L
	'label_facteur_forcer_from' => 'Forcer cette adresse d’envoi quand le <tt>From</tt> n’est pas sur le même domaine',
	'label_facteur_garder_fromname' => 'Garder le nom de l\'expéditeur, même lorsqu\'on force l\'adresse d\'envoi',

	// M
	'message_identite_email' => 'La configuration du plugin "facteur" surcharge cette adresse email pour l’envoi de courriels.',
+1 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
<paquet
	prefix="facteur"
	categorie="communication"
	version="3.5.2"
	version="3.6.0"
	etat="stable"
	compatibilite="[3.0.0;3.2.*]"
	logo="prive/themes/spip/images/facteur-32.png"