[PHP] mail

Résolu/Fermé
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 - 19 nov. 2008 à 17:49
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 - 23 nov. 2008 à 14:10
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 vendredi 30 mai 2008 Statut Membre Dernière intervention 2 avril 2013 27
19 nov. 2008 à 21:03
Bonsoir,
A tu effectuer les modifications des SMTP (php.ini si tu travaille en local) ?
0
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
20 nov. 2008 à 16:53
quel modifications? ^^"
0
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 jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
20 nov. 2008 à 18:30
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
20 nov. 2008 à 19:14
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 jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
20 nov. 2008 à 21:30
Merci pour l'astuce.
Mais sa ne m'aide pas pour mon problème :(
0
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 jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
21 nov. 2008 à 15:56
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
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 jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
21 nov. 2008 à 16:38
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
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 jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
21 nov. 2008 à 17:06
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
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 jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
22 nov. 2008 à 18:41
Ok, donc tu ne sais pas pourquoi sa ne fonctionne pas chez moi?
0
elephantmann Messages postés 1 Date d'inscription samedi 22 novembre 2008 Statut Membre Dernière intervention 22 novembre 2008
22 nov. 2008 à 18:44
moi aussi jai un probleme ac mon livre dor il marche pas regardez sur mon site http://vautmieuxenrire.fr/
0
-> 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 jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
22 nov. 2008 à 19:10
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
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 jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
23 nov. 2008 à 14:10
Ok, je vais demander a mon hébergeur plus d'informations.

Merci beaucoup pour ton aide.
0