[PHP] mail

Résolu
okuni Messages postés 1221 Date d'inscription   Statut Membre Dernière intervention   -  
okuni Messages postés 1221 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'aimerais savoir si mon code ci-joint est correcte.
Car lorsque je charge la page, le mail n'est pas envoyé.
//Adresse d'envoi
	$from = 'From: xxx@xxx.xxx\r\n'; 
	
	//Destinataire
	$destinataire = 'xxx1@xxx.xxx; xxx2@xxx.xxx';
	
	//Sujet du message.
	$objet = 'titre - test';
	
	//Message
	$message = 'Message :p';
	
	// Si tout est ok, on envoie l'e-mail
	$result = mail($destinataire,$objet,$message,$from);
	if (!$result)
	{
		echo 'Erreur !';
	}
	else
	{	
		echo 'La newslettre a bien été envoyée.';
	}

Ou se trouve l'erreur (ou les erreurs :p)?

ps : les adresses sont censuré :p
A voir également:

19 réponses

ben85350 Messages postés 610 Date d'inscription   Statut Membre Dernière intervention   27
 
Bonsoir,
A tu effectuer les modifications des SMTP (php.ini si tu travaille en local) ?
0
okuni Messages postés 1221 Date d'inscription   Statut Membre Dernière intervention   126
 
quel modifications? ^^"
0
toto
 
Bonjour

Si tu travailles en local, dans php.ini, il faut que tu mettes à jour la ligne SMTP = avec l'adresse du serveur SMTP de ton fournisseur d'accès
exemple pour wanadoo :
SMTP = smtp.wanadoo.fr

Ton script t'affiche-t-il un message d'erreur ?
0
okuni Messages postés 1221 Date d'inscription   Statut Membre Dernière intervention   126
 
ok mais là, je l'ai testé directement sur le net, je dois quand même faire ce fichier?

non j'ai aucun message d'erreur et il m'affiche "la newslettre a bien été envoyé"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
 
Salut,
Moi j'utilise pour les mails un truc du genre
<?php
$mail_header = "From: ".$email."\n";
$mail_header .= "Content-Type: text/html \n";
mail($emaildestinataire, $subjet, $message, $mail_header,"-f".$email);
?>
Car cela evite qu'il parte dans le spam de ton destinataire.

Karando
0
okuni Messages postés 1221 Date d'inscription   Statut Membre Dernière intervention   126
 
Merci pour l'astuce.
Mais sa ne m'aide pas pour mon problème :(
0
toto
 
il m'affiche "la newslettre a bien été envoyé"
Tu es bien sûr ? avec le script que tu as donné au départ, en particulier avec $from = 'From: xxx@xxx.xxx\r\n';
?
Fais un echoi $from et tu verras xxx@xxx.xxxrn
le \r et \n ne sont interpretés qu'entre double quotes. D'ailleurs ils sont inutiles ici. Il fallait donc écrire
$from = "From: xxx@xxx.xxx\r\n";
ou
$from = 'From: xxx@xxx.xxx';

Mais je ne vois pas comment avec la valeur que tu avais mise pour $from, tu pouvais avoir "la newslettre a bien été envoyé"
0
okuni Messages postés 1221 Date d'inscription   Statut Membre Dernière intervention   126
 
j'ai refais un peu le script avec tout ce qui est dis au dessus mais j'ai toujours le même problème, je ne reçois pas le mail et il indique bien que la newslettre a bien été envoyé.
$destinataire = 'xxx1@xxx.xxx';
	
	//Sujet du message.
	$sujet = '.: BliZer '.$blizer['version'].' :: Newslettre :.';
	
	//Message
	$message = 'Message :p';
	
	//Option
		// Adresse de l'expéditeur.
		$from .= "From: xxx@xxx.xxx\r\n";
		$option .= $from;
		//Copies cachées.
		$option .= "Bcc: $destinataire\n";
		//envoi aux admin.
		$destinataire = "xxx2@xxx.xxx";
		//
		$option .= "X-Mailer: PHP/" . phpversion() . "\n" ;
		//
		$option .= "Content-Type: text/html \n"; 
		
	// Si tout est ok, on envoie l'e-mail
	$result = mail($destinataire,$sujet,$message,$option);
	if (!$result)
	{
		echo 'Erreur !';
	}
	else
	{	
		echo 'La newslettre a bien été envoyée.';
		echo '<br/>Destinataire : '.$destinataire;
		echo '<br/>From : '.$from;
	}
0
toto
 
Ton script marche très bien chez moi. Avec 2 'Notice' Quand même, car tu fais un "$option .=" et un "$from.=" alors que option et from ne sont pas définis.

Essayes-tu en local ou depuis chez un hébergeur ? Et si tu envoies ces mêmes mails (même sujet, même contenu) arrivent-ils bien ?
0
okuni Messages postés 1221 Date d'inscription   Statut Membre Dernière intervention   126
 
Je n'ai pas testé en local, seulement sur mon hébergeur.
Mais toujours le même problème, je ne reçois pas le mail :/
j'ai aussi vérifier que la fonction mail() était bien activé.
0
toto
 
Je ne sais plus quoi te dire, ton script marche très bien chez mon hébergeur aussi (free). Je reçois bien les mails et la copie.
0
okuni Messages postés 1221 Date d'inscription   Statut Membre Dernière intervention   126
 
ok, merci pour ton aide.
Si la fonction mail est désactivé, est-il possible qu'il n'y ai pas de message d'erreur? (comme dans mon cas?)
0
toto
 
Si, tu aurais un message d'erreur, genre "undefined function : mail()" ou une fonction mail qui rend false.
0
okuni Messages postés 1221 Date d'inscription   Statut Membre Dernière intervention   126
 
Ok, donc tu ne sais pas pourquoi sa ne fonctionne pas chez moi?
0
elephantmann Messages postés 1 Date d'inscription   Statut Membre Dernière intervention  
 
moi aussi jai un probleme ac mon livre dor il marche pas regardez sur mon site http://vautmieuxenrire.fr/
0
toto
 
-> elephantmann : tu devrais créer un nouveau sujet pour ton problème au lieu de t'incruster ici.

-> okuni : désolé, je commence à être très sérieusement à sec. Tes mails seraient-ils rejetés comme spam par les autres ? à cuase du contenu, de l'adresse From:, ou de l'hébergeur qui serait sur une liste noire ?
0
okuni Messages postés 1221 Date d'inscription   Statut Membre Dernière intervention   126
 
Non je ne pense pas et je test avec mes propres adresse mails donc il ne sont pas pris comme spam.
Il manque peut-être une option à rajouter??
0
toto
 
Ton script est correct, il marche tel quel (aux adresses email près) chez moi en local et chez free. Demande à ton hébergeur ou cherche sur son site s'il a besoin de paramètres particuliers, mais ça m'étonnerait.
0
okuni Messages postés 1221 Date d'inscription   Statut Membre Dernière intervention   126
 
Ok, je vais demander a mon hébergeur plus d'informations.

Merci beaucoup pour ton aide.
0