Rechercher : dans
Par :

Tester fonction mail sur easyphp (local)

Dernière réponse le 7 mai 2009 à 09:14:19 wiem2007, le 13 fév 2008 à 11:42:24 
 Signaler ce message aux modérateurs

Bonjour,
comment tester un programme permettant d'envoyer des mails (easyphp) et ceci en local càd sans hébérgement.
merci

Meilleures réponses pour « tester fonction mail sur easyphp (local) » dans :
[PHP] Fonction mail() VoirLa fonction mail() est bloquée chez certains des hébergeurs gratuits pour des raisons de sécurité (afin d'éviter le spam notamment), l'adresse ip de la machine qui a demandé le script sera alors indiquée dans le header 'X-MM-Mail-From-IP'. renseignez...
PHP - Mail et fonctions réseau VoirPHP étant un langage consacré au Web, il possède bien évidemment des fonctions lui permettant de communiquer avec le "monde extérieur" à l'aide de fonctions standards. Le service le plus utilisé sur Internet étant la messagerie électronique, il est...

1

dudu134, le 13 fév 2008 à 11:52:41

Bonjour,

il faut tu fasse il droit du e d'easyphp dans le barre des taches et choisi configuration ->php

après tu cherche ces lignes :

[mail function]
; For Win32 only.
SMTP = smtp.fai.fr -> ici tu remplace fai par ton fournisseur
smtp_port = 25
; For Win32 only.
sendmail_from = ton_mail@fai.fr -> ici tu mets ton email
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
;sendmail_path = En espérant que je vous ai aidé

Répondre à dudu134

2

Puka, le 9 déc 2008 à 10:46:03

ça date un peu mais bon...

comment tester un programme permettant d'envoyer des mails (easyphp) et ceci en local càd sans hébérgement.

avec le serveur SMTP de windows XP

dans php.ini :

[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25

; For Win32 only.
;sendmail_from = me@example.com

Merci

Répondre à Puka

3

mistu17, le 9 déc 2008 à 11:47:40

Ecrit ce fichiers dans ton répertoire www :

Le fichier d'envoi de mail en php :

envoi.php :

<?php /* Date de création: 09/12/2008 */ ?>
<html>
<body>
<?php
$destinataire = "adresse_mail@operateur.fr";
$titre = "mon formulaire";

$message = "message de test à envoyer sur ton adresse email";


if(mail($destinataire, $titre, $message)) print("Message correctement envoyé");
?>
</body>
</html>

Répondre à mistu17

4

Puka, le 9 déc 2008 à 13:52:00

Merci pour ta réponse mais...


Warning: mail() [function.mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in C:\Program Files\EasyPHP\www\mail.php on line 11


:/

Répondre à Puka

5

mistu17, le 9 déc 2008 à 14:58:27

Modifie la ligne comme suit :

if(mail($destinataire, $titre, $message, "From: mon adresse")) print("Message correctement envoyé");

et remplace 'mon adresse' par l'adresse expéditeur.
Tiens moi au courant. a+

Répondre à mistu17

6

Puka, le 9 déc 2008 à 17:28:45

J'ai rajouter le from comme tu m'as dit, mais ...

Warning: mail() [function.mail]: SMTP server response: 550 5.7.1 Unable to relay for adresse_mail@operateur.fr in C:\Program Files\EasyPHP\www\mail.php on line 11


Merci :)

Répondre à Puka

7

mistu17, le 9 déc 2008 à 20:06:12

Normal,

Dans le fichier envoi.php, il faut remplacer l'adresse de la ligne : $destinataire = "adresse_mail@operateur.fr";

par celle du destinataire.

Désolé j'ai oublié ce détail important. ;)

Répondre à mistu17

8

Puka, le 10 déc 2008 à 09:12:26

J'avais bien compris, et j'avais donc mis mon adresse perso chez Hotmail, mais tjs le meme message !!

(c'est juste que j'ai le copier-coller avec l'adresse de base)

Merci :)

Répondre à Puka

9

mistu17, le 10 déc 2008 à 11:22:37

A ma connaissance, il faut que dans ton php.ini on trouve :

[mail function]
; For Win32 only.
SMTP = smtp.operateur.fr
smtp_port = 25

; For Win32 only.
sendmail_from = nom@operateur.fr

où dans SMTP tu mets ton fournisseur d'accès internet à la place d'opérateur, et dans sendmail_from, l'adresse de ta boite mail expéditeur.

Après pour tout faire en local, je ne vois pas comment faire.

A plus.

Répondre à mistu17

10

mistu17, le 10 déc 2008 à 16:33:47
  • +1

Pour jouer avec la fonction mail() et le fichier php.ini suivant :

[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25

; For Win32 only.
sendmail_from = toto@mondomaine.com

il faut utiliser un logiciel de serveur à installer en local. Il en existe un gratuit très bien fait : hMailServer dans lequel tu crée un serveur que tu appels 'localhost', puis une fois connecté tu crées un domaine (par exemple 'mondomaine.com') et ensuite des comptes (ici toto@mondomaine.com et titi@mondomaine.com).

envoi.php devient :

<?php
$destinataire = "titi@mondomaine.com";
$titre = "mon formulaire";

$message = "";
$message .= "Nom : ".$_REQUEST['nom'];

mail($destinataire, $titre, $message, "toto@mondomaine.com");
?>

tu trouveras le download de hMailServer à l'adresse : http://www.hmailserver.com/?page=download
Voilà, amuse-toi bien !

Répondre à mistu17

11

mistu17, le 10 déc 2008 à 16:57:16

Une précision je suis sous WampServer 2.

Répondre à mistu17

12

mistu17, le 10 déc 2008 à 17:02:51

Je viens d'essayer sous EasyPHP et cela fonctionne correctement !

Répondre à mistu17

13

Puka, le 11 déc 2008 à 10:59:19

Merci bp :)

Je teste tout ça et te tiens au courant.
A+

Répondre à Puka

14

Puka, le 11 déc 2008 à 15:50:07

Alors j'ai fait tout comme tu m'as dit :p

J'ai juste rajouter dans mail.php

if(mail($destinataire, $titre, $message, "from:me@example.com")) print("Message correctement envoyé");

Et donc j'ai le message correctement envoyé !! youpi !!

Mais... je le vois où ce message ? J'ai pas tout compris je crois le fonctionnement hMailServer...
Notamment dans Etat, j'ai "Vous n'avez pas spécifié le nom d'hôte public pour cet ordinateur dans les paramêtres SMTP."

:/

En tout cas merci de m'aider ;-)
A+

Répondre à Puka

15

mistu17, le 11 déc 2008 à 16:44:24

Content que cela fonctionne.

Pour retrouver ton message, il faut que tu paramètres une boite mail avec OutLook Express par exemple avec l'adresse mail du destinataire de ton message.

Répondre à mistu17

16

mistu17, le 11 déc 2008 à 16:56:17

Précision,

Dans "paramètres" => "Protocoles" => "SMTP" => onglet "Distribution des emails", champ "Nom du serveur",
il faut mettre par exemple "smtp.mondomaine.com", le port TCP est 25.

C'est pour cela que tu as un message d'avertissement dans "Etat". A+

Répondre à mistu17

17

julien136, le 4 mai 2009 à 16:59:18

Salut j'ai un souci je recoi les mail avec
<?php
$destinataire = "titi@mondomaine.com";
$titre = "mon formulaire";

$message = "";
$message .= "Nom : ".$_REQUEST['nom'];

mail($destinataire, $titre, $message, "toto@mondomaine.com");
?>

mais il m'est impossible d'en envoyer pourquoi?
j'utilise hmail es mon client est outlox google est ton ami

Répondre à julien136

18

 mistu17, le 7 mai 2009 à 09:14:19

Bonjour,

essaye d'ajouter 'from:' devant toto@mondomaine.com de la fonction mail.
cela devient :

mail($destinataire, $titre, $message, "From: toto@mondomaine.com");

Répondre à mistu17