Prob newsletter PHP compte mail

pasdeprob Messages postés 98 Date d'inscription   Statut Membre Dernière intervention   -  
pasdeprob Messages postés 98 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   2
 
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 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:contact@notresite.com\n";
0
pasdeprob Messages postés 98 Date d'inscription   Statut Membre Dernière intervention   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', '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