Se connecter avec
S'enregistrer | Connectez-vous

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

Dernière réponse : dans Programmation

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
Lassé par la pub ? Créez un compte
Expert Programmation

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

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.

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é";
?>


Expert Programmation

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.

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.
Lassé par la pub ? Créez un compte
Tom's guide dans le monde