Prob newsletter PHP compte mail

pasdeprob Messages postés 108 Statut Membre -  
pasdeprob Messages postés 108 Statut Membre -
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 "[email protected]"(créer sur l'hebergeur) et non "[email protected]".

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 "[email protected]" et non leur adresse automatique qui change a chaque envoi "[email protected]" (ce qui change c'est le "loire" en "seine", "indre", "aube" .
Configuration: AMD Athlon 64 x2 5000+ 2go DDR2 GEFORCE 9800 GT 512 DDR3 256-Bit Windows Xp SP3

3 réponses

grafix Messages postés 9 Statut Membre 2
 
Ton problème est ici :

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

tu dois avoir ca quelquepart !

define ('EXPEDITEUR', '[email protected]') ;

suffit de remplacer par le mail qui t'interesse :p
0
gigaga Messages postés 2347 Date d'inscription   Statut Membre Dernière intervention   301
 
Normalement, c'est dans headers de la fonction mail.

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

Par :
$headers = "From:[email protected]\n";
0
pasdeprob Messages postés 108 Statut Membre 2
 
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', '[email protected]') ;

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 : '[email protected]' ou '[email protected]'
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