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 -
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" .
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:
- Prob newsletter PHP compte mail
- Créer un compte google - Guide
- Installer windows 10 sans compte microsoft - Guide
- Windows live mail - Télécharger - Mail
- Créer un compte yahoo mail - Guide
- Comment creer un compte mail - Guide
3 réponses
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
$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
Normalement, c'est dans headers de la fonction mail.
Remplace :
$headers = "From:".EXPEDITEUR."\n";
Par :
$headers = "From:contact@notresite.com\n";
Remplace :
$headers = "From:".EXPEDITEUR."\n";
Par :
$headers = "From:contact@notresite.com\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', '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
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