Envoi mail en ligne de commande sous Windows 7 [Résolu]

Messages postés
18
Date d'inscription
vendredi 31 juillet 2009
Statut
Membre
Dernière intervention
21 juin 2013
- - Dernière réponse : cs_AlexN
Messages postés
719
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
- 21 juin 2013 à 19:44
Bonjour,
J'ai un script PHP qui envoie un mail lorsque je l'exécute dans le navigateur via easyPHP.

lorsque j'exécute cette fois ci le script PHP en ligne de commande:
Dans l'invite de commande je fais:
cd "C:/EasyPHP5.2.10/mail"
php mail.php


[*] ça me renvoie une erreur sous windows 7
[*] ça marche sous XP.

Le problème c'est que la machine que je dois utiliser tourne sous windows 7.

J'ai désactiver le parefeu mais rien à faire.

Quelqu'un peut-il m'aider?

Voci le message d'erreur:
Warning mail(): Failed to connect to mailserver at 'mail.orange.com' port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set()
Afficher la suite 

8 réponses

Meilleure réponse
Messages postés
18
Date d'inscription
vendredi 31 juillet 2009
Statut
Membre
Dernière intervention
21 juin 2013
3
Merci
Après moult réflexions et vérifications, j'ai enfin trouvé la cause du problème. C'est le parefeu de l'antivirus, je l'ai juste désactivé et tout marche Nikel.
Merci AlexN pour ton aide.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 193 internautes nous ont dit merci ce mois-ci

Commenter la réponse de briant86
Messages postés
719
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
6
0
Merci
Bonjour,
Avez-vous essayé de lancer la commande en mode administrateur (Démarrer -> CMD (CTRL+SHIFT)) ?
Commenter la réponse de cs_AlexN
Messages postés
18
Date d'inscription
vendredi 31 juillet 2009
Statut
Membre
Dernière intervention
21 juin 2013
0
Merci
Bonsoir AlexN,
Merci pour l'attention portée à mon problème.
Oui, j'ai exécuté la commande en mode administrateur et c'est pareil, j'ai le message d'erreur.
Commenter la réponse de briant86
Messages postés
18
Date d'inscription
vendredi 31 juillet 2009
Statut
Membre
Dernière intervention
21 juin 2013
0
Merci
En fait,le script doit charger une base de données et envoyer un mail avec quelques paramètres.
La chargement de la BD fonctionne bien en ligne de commande, ce n'est que lors de l'envoie du mail que j'ai le message d'erreur et le mail n'est pas envoyé. Pourtant lorsque j'exécute le script dans le navigateur tout marche à merveille.
Commenter la réponse de briant86
Messages postés
719
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
6
0
Merci
Il faudrait plus d'informations pour comprendre. Avez-vous activé les traces d’exécutions et les messages d'erreurs complets ?

Dans un fichier de script :

<?php
ini_set('display_errors', 'On');
error_reporting(E_ALL);


ou

dans le php.ini

display_errors = On
error_reporting = E_ALL 


ou dans le .htaccess :

php_flag display_errors on
php_value error_reporting 32767


Les constantes php
Commenter la réponse de cs_AlexN
Messages postés
18
Date d'inscription
vendredi 31 juillet 2009
Statut
Membre
Dernière intervention
21 juin 2013
0
Merci
Bonjour,
Comme demandé, j'ai ajouté dans mon code:
ini_set('display_errors', 'On');
error_reporting(E_ALL);


et j'obtiens 2 fois le même message d'erreur:

C:\EasyPHP5.2.10\www\mail>php mail.php
PHP Warning: mail(): Failed to connect to mailserver at "mail.orange.com" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\EasyPHP5.2.10\www\mail\mail.php on line 71

Warning: mail(): Failed to connect to mailserver at "mail.orange.com" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\EasyPHP5.2.10\www\mail\mail.php on line 71

Pourtant ce code s'exécute bien dans le navigateur sous windows 7 et en ligne de commande sous windows XP.

Une question y a t'il un moyen d'automatiser l'exécution d'un script PHP sans passer par la ligne de commande (création d'un fichier batch)????
Commenter la réponse de briant86
Messages postés
18
Date d'inscription
vendredi 31 juillet 2009
Statut
Membre
Dernière intervention
21 juin 2013
0
Merci
J'ai recopié le dossier EasyPHP de Windows 7 et j'ai remplacé celui de Windows XP par ce dernier histoire de voir si c'est un problème de config. Et résultat: l'exécution du script en ligne de commande marche, ce qui me pousse à penser que le problème serait lié à Windows 7.
N' y a t'il pas une config à faire sur Windows 7 pour que la fonction mail fonctionne en ligne de commande???
Commenter la réponse de briant86
Messages postés
719
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
6
0
Merci
Ah sécurité ! Quand tu nous tiens.
Deux parefeu pour une seule machine ? Est-ce bien nécessaire ?


Une question y a t'il un moyen d'automatiser l'exécution d'un script PHP sans passer par la ligne de commande (création d'un fichier batch)????


Sur les distributions serveur de Windows il existe une commande at, équivalente du cron d'UNIX.
Sinon il faut utiliser des programmes externes comme cronw ou des services web, taper "online cron", par exemple.
Commenter la réponse de cs_AlexN