Prob newsletter PHP compte mail

Fermé
pasdeprob Messages postés 98 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 22 juin 2012 - 7 août 2009 à 12:03
pasdeprob Messages postés 98 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 22 juin 2012 - 7 août 2009 à 14:31
Bonjour,
Alors je travail sur un site pour lequel je résouds les soucis, et en l'occurence ici une newsletter qui est envoyé par une adresse automatique de l'hebergeur (claranet)

on voudrais que la newsletter soit envoyer par l'adresse "contact@notresite.com"(créer sur l'hebergeur) et non "notresite@loire.fr.clara.net".

La newsletter est générée à partir d'une interface administrateur (créer en php)
J'ai fait des recherche pour savoir comment on devai faire pour envoyer une newsletter lambda.
j'ai entendu parler de cette fonction mail()
mais j'ai regarder partout après dans les fichier PHP mais tout ce que j'ai trouver c'est ce qui suit situé dans un fichier mainfunctions.php :

"
function sendNewsletter($idNewsletter){// envoie la newsletter
$idNewsletter = (int) $idNewsletter;

$emails = $this->getInfosEmails();
$subject = utf8_decode($this->getObjetNewsletter($idNewsletter));
// envoi pour chaque :
foreach($emails as $email){
// envoi du mail de type "HTML" :
$headers = "From:".EXPEDITEUR."\n";
$headers .= "MIME-version: 1.0\r\n";
$headers .= "Content-type: text/html; charset= iso-8859-1\r\n";
$headers = utf8_decode($headers);
// on génère la newsletter qui change pour chaque mail et qu'on décode
$message = $this->generateNewsletter($idNewsletter,$email);

$mailSent = mail($email['email'], $subject, $message, $headers);
if($mailSent){// mail accepté pour livraison
$status .= '<i>'.$email['email'].'</i><br />';
}else{
$status .= '<i>'.$email['email'].'</i> <b>PROBLEME</b><br />';
}

}
return $status;

}

function getInfosEmails(){// récupère les emails inscris à la newsletter (id,email,code)
$sql = "SELECT * FROM liste_newsletter";
$requete = mysql_query($sql,$this->conn);
if (!$requete) {
echo 'Impossible d\'exécuter la requête.';
exit;
}
$results = array();
while($row = mysql_fetch_array($requete)) {
$results[] = $row;
}
return $results;
}

"


Apperement une premiere fonction faisant appel à la deuxieme (qui récupère la liste des inscrit) envoi la newsletter,
etant donné que ce n'est pas moi qui est fait tout ceci je ne comprend pas comment faire pour faire en sorte de passer par l'adresse "contact@notresite.com" et non leur adresse automatique qui change a chaque envoi "notresite@loire.fr.clara.net" (ce qui change c'est le "loire" en "seine", "indre", "aube" .
A voir également:

3 réponses

grafix Messages postés 8 Date d'inscription vendredi 7 août 2009 Statut Membre Dernière intervention 7 août 2009 2
7 août 2009 à 12:06
Ton problème est ici :

$headers = "From:".EXPEDITEUR."\n";


tu dois avoir ca quelquepart !

define ('EXPEDITEUR', 'notresite@loire.fr.clara.net') ;


suffit de remplacer par le mail qui t'interesse :p
0
gigaga Messages postés 2346 Date d'inscription vendredi 20 juin 2008 Statut Membre Dernière intervention 22 août 2014 301
7 août 2009 à 12:07
Normalement, c'est dans headers de la fonction mail.

Remplace :
$headers = "From:".EXPEDITEUR."\n";

Par :
$headers = "From:contact@notresite.com\n";
0
pasdeprob Messages postés 98 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 22 juin 2012 2
7 août 2009 à 14:31
Merci Grafix c'etait bien ca le probleme il y avai un fichier php externe dans lequel j'ai remplacer :

define ('EXPEDITEUR', 'notresite') ;

par

define ('EXPEDITEUR', 'contact@notresite.com') ;


Par contre le véritable expéditeur quand j'affiche les propriété avec outlook par exemple une fois la newsletter reçue) est toujours du type : 'notresite@loire.fr.clara.net' ou 'notresite@seine.fr.clara.net'
Je pense que c'est la plateforme de claranet qui gère cela

sinon je n'ai jamais eu d'exemple concret pour spécifier un smtp pour l'envoi des mail en php quelqu'un pourrai me l'expliquer ?

merci
0