Rechercher : dans
Par :

Pb envoi email (PHP)

Dernière réponse le 22 jan 2008 à 10:32:22 sapience, le 21 jan 2008 à 16:18:24 
 Signaler ce message aux modérateurs

Bonjour,

Bonjour,

je développe un outil en PHP et j'ai besoin de mettre en place une procédure d'importation journalière pour mettre à jour ma base de données.

J'ai créé un script PHP qui permet de réaliser cette importation. A la fin de celui-ci, il envoit un mail de synthèse (utilisation de la fonction email).
Si je lance le script depuis mon browser pas de problème : mise à jour des fichiers + envoie de mail.

Par contre si je lance l'exécution du script via le planificateur de tâche de windows vista, j'ai bien mes mises à jours qui s'effectuent mais j'ai un problème pour l'envoi du mail ! Même chose si je lance le script en ligne de commande (cmd)
Message d'erreur classique :
email(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\wamp\www\SMS_suivipds\import-export\import\import.php on line 111

Comment expliquer cette différence entre les 2 exécution alors que le PHP.ini est identique :
([mail function]
; For Win32 only.
SMTP = 121.0.1.1 // mon serveur SMTP
smtp_port = 25?

Merci d'avance

Configuration: Windows Vista
Internet Explorer 7.0

Meilleures réponses pour « pb envoi email (PHP) » dans :
PHP - Mail et fonctions réseau Voir PHP é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...
[Outlook/ThunderBird/Incredimail] Envoi/Réception de mail VoirVous avez des problèmes d'envoi ou de réception de mail dans votre client de messagerie ? Cet article va vous aider à diagnostiquer le problème. 1. Introduction à la messagerie 2. Problèmes d'envoi de mail 3. Problèmes de réception de...
[Webmaster] Un formulaire de contact pour votre site VoirCe formulaire permet d'avoir une page pour être contacté sur son site, sans utiliser de logiciel de messagerie. La personne qui vous contacte indique son adresse, l'objet du message et son message (évidemment). Le code est une version...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...
PHP - Affichage de texte sur le navigateur VoirLe but de PHP est de permettre la création de pages web dynamiques, ainsi son but premier est de pouvoir envoyer des données au navigateur. Les trois fonctions standards PHP fournit 3 fonctions permettant d'envoyer du texte au navigateur. Ces...

1

clintm, le 21 jan 2008 à 16:54:35
  • +1

Salut,

il faut chager l'adresse du serveur smtp
moi j'avais mis smtp.wanadoo.fr
tu peux aussi mettre smtp.free.fr

l'adresse de l'éxpéditeur ne sera alors plus la même
mais tu peux la changer avec
http://www.php.net/manual/fr/function.mail.php

@+
------------------------------------------
>>Trop de paroles noient la vérité<<

Répondre à clintm

2

sapience, le 21 jan 2008 à 17:06:35

Pourquoi changer mon serveur SMTP qui marche parfaitement pour l'ensemble de mes programmes. J'ai juste le problème sur mon script d'import en passant par le cmd ou le planificateur de tâche.... Cela m'ennuie de mettre un serveur wanadoo pour un outil qui va être un intranet 100% local et utilisé que par les utilisateurs du réseau local.

Répondre à sapience

3

le père, le 21 jan 2008 à 17:54:17

Bonjour

Bizarre qu'il te mette mailserver at "localhost" alors que ton serveur SMTP n'est pas paramétré comme localhost. Peux-tu modifier provisoirement le smtp_port de ton php.ini pour voir si ton message d'erreur continue de parler du port 25, ou s'il voit bien le changement de port ?

Répondre à le père

4

sapience, le 21 jan 2008 à 18:04:07

Effectivement, même après changé le port en 24 et tout redémarré, j'ai toujours la même erreur avec le port 25 ! J'ai pourtant bien un seul serveur qui tourne (Wampserveur) ! Bizarre....

Répondre à sapience

5

le père, le 21 jan 2008 à 23:50:05

Re bonjour

Es-tu absolument sûr que ça marche quand tu lances le script à partir d'un browser ?
As-tu défini ta tâche planifiée comme devant s'exécuter sur le compte d'un utilisateur normal (propriétés, général exécuter en tant que) ?
Tu n'as qu'un seul PHP qui tourne mais puisque tu es sous Vista, n'aurais-tu pas 2 php.ini : un dans le même répertoire que PHP et l'autre dans le répertoire de compatibilité ?

Répondre à le père

6

sapience, le 22 jan 2008 à 09:29:25

Bonjour,

Merci le père, j'ai trouvé l'origine du problème. Il y a effectivement dans wamp 2 php.ini :
- 1 dans le répertoire C:\wamp\bin\apache\apache2.2.6
- 1 dans le répertoire C:\wamp\bin\php

Quand on modifie php.ini via l'interface de wamp, cela modifie le premier php.ini uniquement.
Le premier php.ini semble suffisant pour faire tourner mes scripts depuis un browser mais pas depuis une ligne de commande ou depuis le planificateur de tâche (c'est un peu étrange.....).

Bref, j'ai également modifié le second php.ini (SMTP) et tout marche nickel. L'importation a bien fonctionnée et j'ai bien reçu mon email contenant le rapport.

Merci infiniment le père pour ton aide.

Cordialement.

Répondre à sapience

7

 le père, le 22 jan 2008 à 10:32:22

Bonjour

Quand même pas très normal. Je ne sais pas ce qui se passe dans Wampserver, j'ai toujours installé moi-même Apache, Php etc moi-même parce que j'essaye d'éviter les logiciels qui font des choses dans mon dos et je vois que je n'ai pas tort.

Répondre à le père