Faire passer le serveur pour qqn...

Bonjour,

J'utilise ezmlm chez OVH pour gérer mes mailing lists. Je m'inscris sans pb à la liste lorsque j'envoie la commande directement depuis le compte mail qui veut s'inscrire.
J'ai réalisé un petit script en php qui, après inscription en ligne (très classique) se charge de le faire pour toi. Mais là, ezmlm ne réagit pas.
Je pense qu'il ne me considère pas comme étant celui qui veut s'inscrire. J'ai inséré les headers suivants dans ma fonction mail :
Code:
$headers = "From: xxx@yyy.zzz\n";
$headers .= "Reply-To: xxx@yyy.zzz\n";
puis ma fonction mail (objet vide et corps du message vide) :
Code:
mail(xxx@yyy.zzz, '', '', $headers);
mais rien. Après lecture du manuel php officiel, j'ai même essayé d'ajouter un paramètre optionnel :
Code:
mail(xxx@yyy.zzz, '', '', $headers, '-fxxx@yyy.zzz');

Comment convaincre ezmlm que la commande qu'il reçoit provient bien de xxx@yyy.zzz ? Est-ce que mon problème se trouve ailleurs ?

Merci des vos avis.
 
tu devrais essayer de rajouter ceci à ton header:

Code:
$header.="Return-path:  xxx@yyy.zzz\n";

:D
 
Code:
mail ("<nomDeTaListe>-subscribe@tonDomaine.ext", "", "", "from:adresse@aAjouter.ext");

tu remplace le <nomDeTaListe> par le nom de ta liste sans les < >. En principe cela devrait fonctionner.
 
Sinon voici un code complet qui fonctionne :

Code:
// traitement de l'adresse d'envoi (c un forcing pour l'ajouter dans la liste)
$to = "<nomDeLaListe>-subscribe-".str_replace ("@", "=", $this->email)."@tonDomaine.ext";

// traitement des headers
$headers = 'From: '.$this->email."\r\n";
$headers .= 'Reply-To: '.$this->email."\r\n";
$headers .= 'X-Mailer: PHP/' . phpversion();

// envoi du mail
mail ($to, "", "", $headers);

tu dois bien sur adapter les variables aux tiennes parce que moi je te sors ca d'une classe PHP5 que j'ai créée.
 
Merci les gars : cela fonctionne. Cela met plus de temps que lorsque l'on s'inscrit directement depuis le compte mail, mais cela fonctionne.

DaMonkey : dans ton script, il semble que cela soit ton "forcing" qui permet le fonctionnement car avant, j'essayais comme dans ton message précédent (= suivant les instructions de ezmlm et d'OVH), mais cela ne fonctionnait pas. Je croyais que c'était parceque ezmlm ne savait pas clairement qui était l'expéditeur.

D'ailleurs, pourquoi dis-tu "c un forcing" ??
 
parce que c'est la manière qu'un admin peut insérer une autre adresse que la sienne, via son adresse à lui...
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut