probleme envoie mail php

perfect-blue

Membre enregistré
14 Mars 2006
5
0
Bonjour,

Je suis depuis peux sous "mac os X" et j'ai déja configuré pas mal de choses, j'ai commencé
par configurer apache pour utiliser le PHP, ensuite j'ai installé Mysql comme DB.
Seulement là je suis bloqué. En effet quand j'utilise la fonction mail() de php mes mails
ne partent pas.

Comment faire pour que ma machine envoit les mails?

Merci d'avance de vos réponses.
 
La fonction mail() de php doit obligatoirement avoir un système de courrier installer sur la machine pour fonctionner, et il doit être défini dans le php.ini

Je n'utilise pas cette fonction mais ce doit être assez simple à configurer si tu as un serveur de mail...

Regarde sur google au cas ou tu n'aurais pas de serveur de mail.


Marc-André
 
Le serveur sur mac est PostFix, il te faut PostFix Enabler.

Edith : lire le post ci-dessous :D
 
rebonjour,

A la question "pour quoi faire et dans quel cadre?" :

C'est assez simple, je développe mes projet en interne sur le serveur locale (ici apache) avant de le mettre en ligne
chez un hébergeur spécialisé en la matière une fois ceux-ci terminés. J'ai donc configuré PHP et installer Mysql pour travailler.
J'aimerais que mon serveur me permette maintenant d'envoyer des mail à l'extérieure. Je travaille pour l'instant sur une
mailinglist, je peux tout contrôller sauf bien sure l'envoie des mail puisqu'ils ne partent pas.

Bref j'aimerais pouvoir envoyer mes mail avec la fonction mail() de PHP. Je n'ai pas besoin pour l'instant de mettre en place des
mécanismes pour recevoir des mails donc ma requete ne concerne que le courrier sortant.

Savoir quel service utiliser et comment le configurer.

NB : Ceci a peut être de l'importance mais je suis sur une machine équipée de deux processeur INTEL et non pas de powerPC.
En lisant de la DOC au sujet de la configuration de sendmail j'ai remarqué que certains fichiers décris dans le tutorial
n'étaient pas présent sur ma machine.
 
perfect-blue a dit:
rebonjour,

A la question "pour quoi faire et dans quel cadre?" :

C'est assez simple, je développe mes projet en interne sur le serveur locale (ici apache) avant de le mettre en ligne
chez un hébergeur spécialisé en la matière une fois ceux-ci terminés. J'ai donc configuré PHP et installer Mysql pour travailler.
J'aimerais que mon serveur me permette maintenant d'envoyer des mail à l'extérieure. Je travaille pour l'instant sur une
mailinglist, je peux tout contrôller sauf bien sure l'envoie des mail puisqu'ils ne partent pas.

Bref j'aimerais pouvoir envoyer mes mail avec la fonction mail() de PHP. Je n'ai pas besoin pour l'instant de mettre en place des
mécanismes pour recevoir des mails donc ma requete ne concerne que le courrier sortant.

Savoir quel service utiliser et comment le configurer.

NB : Ceci a peut être de l'importance mais je suis sur une machine équipée de deux processeur INTEL et non pas de powerPC.
En lisant de la DOC au sujet de la configuration de sendmail j'ai remarqué que certains fichiers décris dans le tutorial
n'étaient pas présent sur ma machine.

// Pear::Mail
require_once 'Mail.php';

utilises la class MAIL de pear et pointes sur un de tes comptes smtp
une fois sur le serveur final tu changera la conf smtp sur le server local

c'est vieux comme le monde :) la conf postfix avec certains FAI tu vas t'amusés
(ton local domain va poser des problèmes il y a bien des astuces ) :)
alors avant d'etre en SBL utilises un compte distant yahoo par exemple
pour faire tes tests à l'aide de Pear::Mail
 
Voila, je me suis attelé à la configuration de postfix.

j'ai :

01: édité main.cf, master.cf "myhostname=localhost.localdomain, mydomain = localdomain, mynetworks_style = host"
"décommenté la ligne : smtp inet n - n - - smtpd"
02: édité /private/etc/hostconfig et rajouté MAILSERVER=-YES-
03: postfix start : starting the Postfix mail system


Une foi que le serveur a été lancé, j'ai éris une page en PHP pour tester l'envoie d'E-mail mais ceux ne
partent pas il reste en queue. Voici ce que me renvoie la commande mailq :

-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
935C0918C5* 789 Wed Mar 15 09:54:50 [email protected]ldomain
[email protected]

771C0916FD 464 Tue Mar 14 17:03:26 [email protected]ldomain
(connect to gsmtp183.google.com[64.233.183.27]: Operation timed out)
[email protected]

A1F0C91722 482 Tue Mar 14 17:06:05 [email protected]ldomain
(connect to gsmtp163.google.com[64.233.163.27]: Operation timed out)
[email protected]


J'ai bien revérifié les lignes éditées dans les fichiers de configuration et vérifié
que le serveur ne me renvoyait pas d'erreur u démarrage mais rien. Je n'ai pas la moindre
idée d'ou peut venir le problème. Je vais continuer a gratter.
 
Je me permet de revenir sur ce sujet.

Lors de ma dernière installe j'ai "simplement" activé le partage web via les prefs système, ensuite j'ai activé php (deux # à retirer dans /etc/httpd/httpd.conf) à la main et j'ai installé mysql. Seul petit problème, php n'a pas le bon chemin par défaut pour atteindre le socket de mysql... Voici quoi faire :

sudo cp /etc/php.ini.default /etc/php.ini
sudo pico /etc/php.ini

Trouver la ligne : mysql.default_socket =
Et compléter : mysql.default_socket = /tmp/mysql.sock

Ensuite redémarrer apache bien sûr (apachectl graceful).

Là où je suis assez surpris, c'est que la fonction mail() de php fonctionne alors que dans mon fichier /etc/hostconfig il n'y même pas de MAILSERVER ON ou OFF.. rien... et je n'ai rien activé ou installer d'autre.

Sinon comme dit tatouille, postfix en local c'est un truc à être considérer comme du spam ou à être bloqué par le fai.. chez moi ça va pas trop mal, bien mais pas top.. je vais essayer cette class de pear (quoique je sais pas si je vais faire confiance au serveur smtp de mon fai) :)
 
iMatthieu a dit:
Je me permet de revenir sur ce sujet.

Lors de ma dernière installe j'ai "simplement" activé le partage web via les prefs système, ensuite j'ai activé php (deux # à retirer dans /etc/httpd/httpd.conf) à la main et j'ai installé mysql. Seul petit problème, php n'a pas le bon chemin par défaut pour atteindre le socket de mysql... Voici quoi faire :

sudo cp /etc/php.ini.default /etc/php.ini
sudo pico /etc/php.ini

Trouver la ligne : mysql.default_socket =
Et compléter : mysql.default_socket = /tmp/mysql.sock

Ensuite redémarrer apache bien sûr (apachectl graceful).

Là où je suis assez surpris, c'est que la fonction mail() de php fonctionne alors que dans mon fichier /etc/hostconfig il n'y même pas de MAILSERVER ON ou OFF.. rien... et je n'ai rien activé ou installer d'autre.

Sinon comme dit tatouille, postfix en local c'est un truc à être considérer comme du spam ou à être bloqué par le fai.. chez moi ça va pas trop mal, bien mais pas top.. je vais essayer cette class de pear (quoique je sais pas si je vais faire confiance au serveur smtp de mon fai) :)

tu peux le modifier dans le start de mysql --socket c'est plus propre