[SPIP 0000158]: mail chez ouvaton

Le bug suivant a été résolu.

http://www.spip.net/bugs/view_bug_page.php?f_id=0000158

Rapporteur: filou
Responsable: antoine

Projet: SPIP
Bug ID: 0000158
Catégorie: installation
Reproductibilité: n'a pas essayé
Sévérité: fonctionnalité
Priorité: normale
Etat: résolu
Résolution: pas un bug

Date de soumission: 10/10/03 09:58 CEST
Dernière modification: 19/10/03 18:47 CEST

Résumé: mail chez ouvaton
Description:
Faut-il intégrer ça ???

http://ouvatonlesamis.org/article.php3?id_article=75

MODIFIER L'ENVOI D'EMAIL POUR OUVATON

                                gvincent, le 16 septembre 2003
                    
                                 Problème : SPIP 1.6 utilise encore par
défaut un envoi de mail en utilisant la fonction mail() avec seulement 4
arguments (au lieu des 5 recommandés sur Ouvaton).

Résultat : tout email envoyé par SPIP est envoyé avec un "return-path" à
"data@ouvaton.net". Cette variable est utilisée comme adresse de retour si
le destinataire est invalide. Elle sert donc à repérer de faux emails
donnés par exemple dans la réponse d'un forum.

Solution : C'est simple, tout envoi d'email devrait passer par la fonction
envoyer_email() définie dans ecrire/inc_mail.php3.
Il suffit alors de modifier cette fonction pour qu'elle prenne en compte
le cinquième argument. Cela se passe à la ligne 86 du fichier
ecrire/inc_mail.php3 (à la fin de la fonction envoyer_email) :
default:
   return @mail($email, $sujet, $texte, $headers, "-f $from");
   }

Si, en tant que webmaster du site, vous souhaitez controller toutes les
erreurs survenues lors de mails envoyés par vos forums, et pétitions, il
faut simplement remplacer le $from par votre email.

Il ne faut pas oublier de changer l'expéditeur par défaut à la ligne 39 :

function envoyer_mail($email, $sujet, $texte, $from = "nom@domaine.com",
$headers = "") {

Enfin, la fonction PHP mail() est appelée directement dans la fonction
envoyer_queue_mails() (je n'ai pas encore trouvé où est-ce que cette
fonction était appelée, mais bon, autant faire le netoyage :wink:

Il faut donc modifier la ligne 24 du fichier ecrire/inc_mail.php3 :
@mail($email, $sujet, $texte, $headers, '-f nom@domaine.com');

et c'est tout ! N'oubliez pas de remplacer dans les exemples ci-dessus
nom@domaine.com par votre email bien sûr :slight_smile:

=======================================================================

-----------------------------------------------------------------------
antoine - 19/10/03 18:47 CEST
-----------------------------------------------------------------------
Pffff. Ouvaton n'a qu'à régler ses serveurs correctement...