Prob newsletter PHP compte mail
pasdeprob
Messages postés
108
Statut
Membre
-
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" .
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
A voir également:
- Prob newsletter PHP compte mail
- Créer un compte google - Guide
- Creer un compte mail - Guide
- Créer un compte yahoo mail - Guide
- Comment savoir qui regarde mon compte facebook - Guide
- Changer adresse mail compte microsoft - Guide
3 réponses
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
$headers = "From:".EXPEDITEUR."\n";
tu dois avoir ca quelquepart !
define ('EXPEDITEUR', '[email protected]') ;
suffit de remplacer par le mail qui t'interesse :p
Normalement, c'est dans headers de la fonction mail.
Remplace :
$headers = "From:".EXPEDITEUR."\n";
Par :
$headers = "From:[email protected]\n";
Remplace :
$headers = "From:".EXPEDITEUR."\n";
Par :
$headers = "From:[email protected]\n";
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
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