Votre question

Tester l'envoie d'un e-mail en php (localhost)

Tags :
  • Smtp
  • Programmation
Dernière réponse : dans Programmation
7 Juillet 2011 11:27:05

bon jours les ami(e)s :) 
je veux envoyer un e-mail en php voilà le code


$headers = "X-Sender: xsender@hotmail.com\n";
$headers .= "From:<****@live.com>\n";
$headers .= "Reply-To: 'No reply'\n";
$headers .= "Content-Type: text/html; charset=\"iso-8859-1\n";

if(mail("****@live.com", "no subject", "bonjour", $headers)){
echo "Email envoyé avec succès.";
}


mais lors de l'execution ce message d'erreur s'affiche.


Warning: mail() [function.mail]: Failed to connect to mailserver at "127.0.0.1" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\Program Files\EasyPHP-5.3.5.0\www\send_mail3php.php

Autres pages sur : tester envoie mail php localhost

7 Juillet 2011 11:39:06

Dans ton fichier php.ini, tu dois définir un serveur de mail SMTP. Tu peux prendre celui de ton fournisseur d’accès, ca devrait fonctionner.
m
0
l
7 Juillet 2011 15:08:48

j'ai ajouter à ce code ini_set("SMTP","mail.live.com");
mais j'ai reçus le même problème.
m
0
l
Contenus similaires
7 Juillet 2011 16:17:06

Ce n'est pas ton fournisseur d'accès,
c'est du type smtp.free.fr, ou smtp.sfr.fr ...
m
0
l
a c 232 L Programmation
7 Juillet 2011 20:31:03

Pour live, c'est smtp.live.com
m
0
l
8 Juillet 2011 15:34:37

Salut,

En principe les fournisseurs d’accès bloque le port smtp (25) si on utilise pas le leur. Si tu veux utiliser un serveur autre que celui de ton fournisseur tu dois changer le port.

A+
m
0
l
11 Juillet 2011 09:39:50

est ce que vous pouvez me proposer un car j'ai essayez tous.merci d'avance
m
0
l
11 Juillet 2011 10:19:25

Quel est ton fournisseur d'accès ? (si j'ai bien compris, tu as essayé les adresses SMTP qu'on t'a indiquées, mais peut-être pas celle de ton FAI)
m
0
l
11 Juillet 2011 13:08:32

j'ai essayer avec mail.hotmail.com et mail.yahoo.fr
m
0
l
11 Juillet 2011 13:41:10

Salut,

J'imagine que dans tes réglages tu na pas modifier le port smtp?

Tes headers doivent être séparé sous windows avec \r\n et non pas \n

a+
m
0
l
11 Juillet 2011 13:50:58

Essaye avec smtp.hotmail.com
et dis nous ce qu'il se passe.

Et dis-nous quel est ton fournisseur d'accès à internet
m
0
l
11 Juillet 2011 14:14:13

Tu aurais pu remarquer que toutes les réponses que l'on te donne commence par smtp.***.**, pourquoi as-tu mis du mail.***.** ??

Et tu ne réponds toujours pas à la question qui résoudrais ton problème depuis le début : QUEL EST TON FAI ????

Ce qui donnerai en général comme réponse : smtp.[ton_fai].fr
m
0
l
11 Juillet 2011 15:17:40

Mais Emna a la tête dure ...
m
0
l
11 Juillet 2011 20:58:57

D'accord les amis j'ai essayer avec smtp.gmail.com port 587 et j'ai comme erreur

SMTP server response: 530 5.7.0 Must issue a STARTTLS command first. v81sm217750wer.47

et j'ai aussi essayer avec mon FAI smtp.planet.com port 25
j'ai mail envoyer mais j'ai rien trouvé dans ma boite de reception.
m
0
l
11 Juillet 2011 21:10:49

ok on avance . :D 

Commencon par simple.

Cherche chez ton fai l'adresse du serveur smtp .

une fois que tu l'aura, remplace dans la section suivante de ton php.ini smtp.fai.com par le tien

[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = smtp.fai.com
; http://php.net/smtp-port
smtp_port = 25

Je t'ai écrit un script ci dessous pour tester ton mail php, copie le sur ton serveur puis remplace mon email par le tien.
Enfin test le , ca devrait fonctionner.

<?php

//2011-07-11 09:23:14
//testmail.php
//Ce script a été écrit pour tester la fonction mail de php sous windows
//auteur:franck blanchard
//url:http://www.aztequemedia.com

$from = "info@aztequemedia.com";

$to = $from;
$subject = "Test mail depuis windows";
$message = "Ceci est un message pour le test.";
$headers = "From:" . $from. "\r\n" ;
mail($to,$subject,$message,$headers);
echo $headers ."<br>";
echo "<br>Test email envoyé";
?>


m
0
l
11 Juillet 2011 21:30:47

Mais j'ai déjà essayer comme tu m'as proposé et méme prob la fonction mail retourne true mais je trouve rien dans ma boite de reception.
m
0
l
12 Juillet 2011 00:13:58

salut
peut tu mettre poster ton code complet ici stp.

As tu modifier ton php.ini?
m
0
l
12 Juillet 2011 09:17:00

J'ai trouvé le mail dans la boite de junk et pas la boite de reception.
m
0
l
12 Juillet 2011 10:18:22

Renseigne toi sur la fonction mail de PHP pour remplir correctement les en-têtes et éviter ce désagrément.
m
0
l
12 Juillet 2011 10:27:05

$headers ="From:<XXX@gmail.com>\r\n";
$headers .= "Reply-To: 'No reply'\r\n";
$headers .= "Content-Type: text/html; charset=\"iso-8859-1\r\n";

ces en-têtes ne sont pas suffisant?
m
0
l
12 Juillet 2011 11:50:50

Je ne me souviens plus des en-tête à fournir, mais certains opérateurs envoi directement dans les spams les emails qui ne respectent pas certains standard du mail.

Essaie de mettre un Reply-To a quelque chose, peut etre que cela pourrait changer.

Fais des tests jusqu'a ce qu'ils arrivent au bon endroit. Tu peux aussi tester sur plusieurs boite mail différente (en destinataire) pour voir s'il y a des différences.
m
0
l
12 Juillet 2011 15:30:28

Salut,

si tu retrouve ton mai dans la boite de junk, cela na rien avoir avec ton script.
Ce qui peut influencer c'est l'adresse courriel que tu as utiliser.
Beaucoup de boite hotmail et autres bien connus sont "blacklistés" .

Tout dépends comment est filtrés le courrier des personnes qui le recoivent.

Tant qu'a $headers .= "Content-Type: text/html; charset=\"iso-8859-1\r\n";
c'est pour indiquer que le contenu est du html, donc rien a voir directement.
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS