Author: tofulm@gmail.com
Date: 2016-03-16 11:24:20 +0100 (Wed, 16 Mar 2016)
New Revision: 96013
Modified:
_plugins_/facteur/trunk/classes/facteur.php
Log:
Correction sur l'adresse de l'envoyeyr dans le cas d'un envoi par SMTP
si le champ n'est pas rempli, on prend l'adresse du webmestre
Il est indispensable de pouvoir renseigner ce champ, car des prestataires comme mailjet
imposent des adresses verifiees
Je reviens un peu tardivement sur ce commit que je ne comprend pas :
— `$options['smtp_sender']` est utilisée pour indiquer l’adresse de
retour en cas d’erreur (« Return-Path ») et ne devrait donc pas être
utilisée pour le « From » ;
— la variable `$this->From` est déjà positionnée correctement[1], que
ce soit pour l’utilisation de SMTP ou autre.
je suis d'accord avec Olivier, je ne vois pas ce que ce commit apporte, d'autant plus que smtp_sender est un mail pour de retour pour les erreurs, et pas un mail From.
Le From ne peut pas être vide car il a été en amont initialisé avec le réglage de adresse_envoi_email de facteur, ou à defaut avec la configuration email_envoi de SPIP ou à defaut avec email_webmaster.
tofulm, peux-tu nous dire quel cas tu corrige ?
--
Cédric
Olivier Tétard a écrit :
Salut,
tofulm@gmail.com a tapoté :
Author: tofulm@gmail.com
Date: 2016-03-16 11:24:20 +0100 (Wed, 16 Mar 2016)
New Revision: 96013
Modified:
_plugins_/facteur/trunk/classes/facteur.php
Log:
Correction sur l'adresse de l'envoyeyr dans le cas d'un envoi par SMTP
si le champ n'est pas rempli, on prend l'adresse du webmestre
Il est indispensable de pouvoir renseigner ce champ, car des prestataires comme mailjet
imposent des adresses verifiees
Je reviens un peu tardivement sur ce commit que je ne comprend pas :
— `$options['smtp_sender']` est utilisée pour indiquer l’adresse de
retour en cas d’erreur (« Return-Path ») et ne devrait donc pas être
utilisée pour le « From » ;
— la variable `$this->From` est déjà positionnée correctement[1], que
ce soit pour l’utilisation de SMTP ou autre.
Ah oui mais ça n'a rien a voir avec facteur : c'est le formulaire qui fait son envoi avec un from qui est le mail de l'envoyeur. Facteur n'a pas a décider de forcer le from.
Ou alors il faudrait une configuration du genre "si email from n'est pas celui d'envoi par defaut, forcer celui par défaut et mettre le from en reply-to", mais même ce genre de réglage est très discutable, car avec certains services comme mailjet il faut valider le from email par email, avec d'autres on valide seulement le domaine et on peut faire un from de n'importe quelle adresse de ce domaine, et avec d'autres encore on peut utiliser le from que l'on veut.
Donc le forçage devrait avoir plusieurs variantes possibles.
Je ne sais pas ce qui est le mieux, à réflechir, mais en tout cas pas un forçage brutal comme ici qu'il faut revert, donc.
--
Cédric
tofulm a écrit :
Bonjour,
J'ai fait cette modif pour pouvoir utiliser le formulaire de contact
d'un auteur natif de spip en public
(|FORMULAIRE_ECRIRE_AUTEUR)
|Dans ce cas, le champ from correspondait à l'émail de l'envoyeur et
n'était pas surchargé par facteur.
bonne journée
Le 21/04/2016 14:33, Cédric Morin a écrit :
Hello,
je suis d'accord avec Olivier, je ne vois pas ce que ce commit apporte,
d'autant plus que smtp_sender est un mail pour de retour pour les
erreurs, et pas un mail From.
Le From ne peut pas être vide car il a été en amont initialisé avec le
réglage de adresse_envoi_email de facteur, ou à defaut avec la
configuration email_envoi de SPIP ou à defaut avec email_webmaster.
J'étais confronté à des problèmes d'envois de mail
en passant par envoyer_message
pour faire écrire certains internautes à des auteurs
lorsque je mettais simplement l'email de l'internaute dans le from.
En particulier un mail en gmx n'arrive pas à écrire à un mail en sfr,
idem laposte.net -> laposte.net
yahoo.fr -> gmail.com
Je commente et partage ci après ce que j'ai été amené à faire
sur les conseils de mon hébergeur complétés par divers forums
et qui semble bien marcher - mais c'est encore frais.
Le 21/04/2016 17:10, Cédric Morin avait écrit :
> smtp_sender est un mail pour de retour pour les erreurs, et pas un mail From.
Il me semble que c'est plutôt Return-Path qui est fait pour recevoir les erreurs
et que sender est sensé servir plutôt à spécifier l'intermédiaire technique
qui envoie les mails.
Puis il a écrit :
Ou alors il faudrait une configuration du genre "si email from n'est pas celui d'envoi par defaut, forcer celui par
défaut et mettre le from en reply-to", mais même ce genre de réglage est très discutable, car avec certains services
comme mailjet il faut valider le from email par email, avec d'autres on valide seulement le domaine et on peut faire un
from de n'importe quelle adresse de ce domaine, et avec d'autres encore on peut utiliser le from que l'on veut.
Les politiques "SPF" empêchent de faire ce qu'on veut avec le from d'un mail.
Dans une certaine mesure ça évite les usurpations d'identité.
Du coup basiquement il faudrait laisser un from commun technique
et c'est le reply-to qui permettrait par la suite au destinataire de répondre
à l'internaute expéditeur.
Il semble heureusement que spécifier le sender avec un mail technique permet
d'éviter la censure du SPF en général
et ça semble plus robuste que de compter sur le reply-to
qui n'est pas forcément bien utilisé par tous les lecteurs de mail.
Mais c'est pas toujours possible car certains providers de mail
sont plus intégristes que les autres.
Apparemment ce sont : laposte.net, gmx, yahoo (et aol aussi d'après les forums)
Du coup actuellement un code différent selon l'expéditeur :
Ah oui mais ça n'a rien a voir avec facteur : c'est le formulaire qui
fait son envoi avec un from qui est le mail de l'envoyeur. Facteur n'a
pas a décider de forcer le from.
Ou alors il faudrait une configuration du genre "si email from n'est
pas celui d'envoi par defaut, forcer celui par défaut et mettre le
from en reply-to", mais même ce genre de réglage est très discutable,
car avec certains services comme mailjet il faut valider le from email
par email, avec d'autres on valide seulement le domaine et on peut
faire un from de n'importe quelle adresse de ce domaine, et avec
d'autres encore on peut utiliser le from que l'on veut.
==> Euh non, avec mailjet, je valide tous les emails d'un domaine
(Mailjet => liste des domaines)
Donc le forçage devrait avoir plusieurs variantes possibles.
Je ne sais pas ce qui est le mieux, à réflechir, mais en tout cas pas
un forçage brutal comme ici qu'il faut revert, donc.
==> Dans facteur le reply-to ( "et lors d’un envoi via la méthode SMTP
cela définit aussi l’adresse de l’envoyeur.") hors il me semble que ce
n'était pas pris en compte d'où ma methode un peu brutale. Mais si cela
pose d'autres problèmes que je n'avais pas pensés, no pb pour faire un
revert
Dans facteur le reply-to ( "et lors d’un envoi via la méthode SMTP
cela définit aussi l’adresse de l’envoyeur.") hors ilme semble que ce
n'était pas pris en compte d'oùma methode un peu brutale. Mais si cela
pose d'autres problèmes queje n'avais pas pensés, no pb pour faire un
revert
Ah oui je vois la phrase dans le formulaire de configuration. Mais du coup ça n'a pas de sens puisqu'on a plus au dessus la configuration du From avec nom+email...
Et du coup je comprends pas l'intérêt de mélanger les 2 notions. IL y a un from et un return-path, et le smtp_sender de la config est bien pris en compte pour le return-path :
Je pense que cette phrase est une obsolescence qui vient d'une époque ou la config de l'envoyeur n'était pas prévue, et qu'il vaut mieux corriger l'explication.
> ==> Euh non, avec mailjet, je valide tous les emails d'un domaine
> (Mailjet => liste des domaines)
Ah j'avais mal vu/souvenu alors.
Dans ce cas, le plus simple serait de modifier la configuration de l'envoyeur dans Facteur :
Changer "Configuration de l’adresse d’envoi" en "Configuration de l’adresse d’envoi par défaut",
et ajouter une case à cocher du type
forcer cet adresse quand l'adresse d'envoi n'est pas sur le même domaine (et mettre l'adresse d'envoi en Reply-To)
Comme ça on aurait un fonctionnement qui convient à tout le monde.
Les formulaires continueraient à mettre From:toto@truc.com qui fonctionnent avec le mail du serveur mais sont très discutables vis à vis des politiques antispam, et facteur substituerait son From en deplaçant le From en Reply-To
Et cela ne changera pas les envois qui utilisent un from sur le bon domaine (certains plugins utilisent un from pour distinguer des envois de service, notification etc.)
du coup j'ai corrigé les labels pour que ce soit plus clair, rétablit le fonctionnement de smtp_sender qui ne sert que pour les erreurs, et ajouté une option pour forcer le From quand il n'est pas bon
Tu teste et tu me dis si cela rempli bien ton besoin ?
--
Cédric
tofulm a écrit :
Le 21/04/2016 17:10, Cédric Morin a écrit :
Ah oui mais ça n'a rien a voir avec facteur : c'est le formulaire qui
fait son envoi avec un from qui est le mail de l'envoyeur. Facteur n'a
pas a décider de forcer le from.
Ou alors il faudrait une configuration du genre "si email from n'est
pas celui d'envoi par defaut, forcer celui par défaut et mettre le
from en reply-to", mais même ce genre de réglage est très discutable,
car avec certains services comme mailjet il faut valider le from email
par email, avec d'autres on valide seulement le domaine et on peut
faire un from de n'importe quelle adresse de ce domaine, et avec
d'autres encore on peut utiliser le from que l'on veut.
==> Euh non, avec mailjet, je valide tous les emails d'un domaine
(Mailjet => liste des domaines)
Donc le forçage devrait avoir plusieurs variantes possibles.
Je ne sais pas ce qui est le mieux, à réflechir, mais en tout cas pas
un forçage brutal comme ici qu'il faut revert, donc.
==> Dans facteur le reply-to ( "et lors d’un envoi via la méthode SMTP
cela définit aussi l’adresse de l’envoyeur.") hors il me semble que ce
n'était pas pris en compte d'où ma methode un peu brutale. Mais si cela
pose d'autres problèmes que je n'avais pas pensés, no pb pour faire un
revert
du coup j'ai corrigé les labels pour que ce soit plus clair, rétablit
le fonctionnement de smtp_sender qui ne sert que pour les erreurs, et
ajouté une option pour forcer le From quand il n'est pas bon