Envoi mail en ligne de commande sous Windows 7

Résolu
briant86 Messages postés 18 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 21 juin 2013 - 20 juin 2013 à 10:54
cs_AlexN Messages postés 694 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()

8 réponses

briant86 Messages postés 18 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 21 juin 2013
21 juin 2013 à 12:58
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.
3
cs_AlexN Messages postés 694 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 8 janvier 2014 19
20 juin 2013 à 15:44
Bonjour,
Avez-vous essayé de lancer la commande en mode administrateur (Démarrer -> CMD (CTRL+SHIFT)) ?
0
briant86 Messages postés 18 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 21 juin 2013
20 juin 2013 à 16:40
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.
0
briant86 Messages postés 18 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 21 juin 2013
20 juin 2013 à 16:45
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_AlexN Messages postés 694 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 8 janvier 2014 19
20 juin 2013 à 20:45
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
0
briant86 Messages postés 18 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 21 juin 2013
21 juin 2013 à 11:51
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)????
0
briant86 Messages postés 18 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 21 juin 2013
21 juin 2013 à 11:57
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???
0
cs_AlexN Messages postés 694 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 8 janvier 2014 19
21 juin 2013 à 19:44
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.
0
Rejoignez-nous