[PHP 4.3.10] utiliser un serveur SMTP externe

Petit nouveau ! | 9 Messages

29 mars 2006, 10:44

Bonjour,

J’utilise souvent PHP pour l’envoie de mail, j’utilise la bien connue fonction mail mail() précédée des en-têtes classiques pour (from,reply…).
Ceci fait c’est le service mail de mon hébergeur qui prend l’envoie en charge.

Ma question est très simple : si à la place du service mail de mon provider je veux utiliser mon acompte gmail et son service SMTP pour que les mails partent de chez eux que dois je apporter comme modification à mon code ?

Cette manipulation n’est peut être réalisable.

Merci d’avance pour vos réponses.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

29 mars 2006, 10:45

Si tu n'as pas accès au php.ini et que tu ne peut pas modifier les paramètres de ton serveur SMTP, je ne vois pas ...
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Petit nouveau ! | 9 Messages

29 mars 2006, 10:57

Si, je possède mon propre fichier php.ini et je peux le modifier.
Que dois je modifier dans ce fichier ?

Mammouth du PHP | 19672 Messages

29 mars 2006, 11:11

smtp = smtp.gmail.com

Attention, par défaut le port smtp est 25, mais pour gmail, c'est le port 587 si je ne me trompe pas.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Petit nouveau ! | 9 Messages

29 mars 2006, 11:35

Ou dois je mettre mes informations d’authentification pour utiliser mon acompte ??

Petit nouveau ! | 9 Messages

29 mars 2006, 11:38

petit NB le champ SMTP = localhost est précédé d'un
; For Win32 only.

mais le serveur fonctionne sous linux.

ViPHP
ViPHP | 1380 Messages

29 mars 2006, 12:11

Quel est le MTA de ton serveur? Exim ?

Si tu ne veux pas changer la config du MTA, utilise PEAR::MAIL en mode SMTP (tu contournes le MTA).
http://pear.php.net/package/Mail

Doc:
http://pear.php.net/manual/fr/package.mail.mail.php
ripat

Petit nouveau ! | 9 Messages

29 mars 2006, 13:54

La solution pear ::mail a l’air bonne mais comment savoir si il est installé chez mon provider ?

J’ai bien essayé des exemple de codes mais a chaque foi je suis callé au include.

ViPHP
ViPHP | 1380 Messages

29 mars 2006, 14:58

Si tu as un dédié et un accès ssh, c'est très simple:
#pear install mail

Sinon, tu installes les librairies et dépendances à la main dans un répertoire de ton choix, par exemple /ma/lib/pear/. N'oublies pas, dans ce cas, de rajouter:
ini_set('include_path',  '/ma/lib/pear/');
Dans ton/tes script(s) qui appelle(nt) PEAR.

Plus d'Info:
ripat

Petit nouveau ! | 9 Messages

29 mars 2006, 15:27

Bon voilà la suite.
Par défaut pear est installé sur ma machine en local mais pas chez mon provider.
Est il possible de l’installer dans mon répertoire locale ?

ViPHP
ViPHP | 1380 Messages

29 mars 2006, 15:34

Bon voilà la suite.
Par défaut pear est installé sur ma machine en local mais pas chez mon provider.
Est il possible de l’installer dans mon répertoire locale ?
Oui. La librairie PEAR est composée de fichiers PHP. Il suffit donc de les télécharger sur ton site dans un répertoire de ton choix. Ce répertoire peut-être hors document_root. Lis bien mon post ci-dessus pour les précautions à prendre pour ce type d'installation "à la main".
ripat

Petit nouveau ! | 9 Messages

29 mars 2006, 16:06

Oky, bon voilà j’ai téléchargé un un fichier pear-1,2,1.tar.gz,
Je l’ai décompresser et à l’intérieure se trouve au premier niveau un fichier XML et un répertoire.

Voilà le contenu du répertoire :

drwxr-xr-x 4 raoullhe raoullhe 136 Mar 29 15:41 OS
drwxr-xr-x 15 raoullhe raoullhe 510 Mar 29 15:41 PEAR
-rw-r--r-- 1 raoullhe raoullhe 30143 Aug 6 2003 PEAR.php
-rw-r--r-- 1 raoullhe raoullhe 14892 Jul 8 2003 System.php
-rw-r--r-- 1 raoullhe raoullhe 3502 Jul 8 2003 package.dtd
drwxr-xr-x 6 raoullhe raoullhe 204 Mar 29 15:41 scripts
-rw-r--r-- 1 raoullhe raoullhe 1735 Jun 17 2003 template.spec

Dois le copier tel quel sur le serveur ou y’a t’il des modification a apporter ?

ViPHP
ViPHP | 1380 Messages

29 mars 2006, 16:29

Ca m'a l'air correct mais n'oublie pas le paquet Net_SMTP dont dépend MAIL pour l'envoi direct en SMTP.

Edit: La dernière version stable semble être la 1.1.9
http://pear.php.net/get/Mail-1.1.9.tgz

Pour Net_SMTP:
http://pear.php.net/get/Net_SMTP-1.2.8.tgz
http://pear.php.net/package/Net_Socket/
http://pear.php.net/package/Auth_SASL/

Code : Tout sélectionner

About Mail-1.1.9 ================ Provides Classes: Package Mail Summary Class that provides multiple interfaces for sending emails Description PEAR's Mail package defines an interface for implementing mailers under the PEAR hierarchy. It also provides supporting functions useful to multiple mailer backends. Currently supported backends include: PHP's native mail() function, sendmail, and SMTP. This package also provides a RFC822 email address list validation utility class. Maintainers Chuck Hagenbuch <[email protected]> (lead) Richard Heyes <[email protected]> (developer) Jon Parise <[email protected]> (lead) Version 1.1.9 Release Date 2005-09-13 Release License PHP/BSD Release State stable Release Notes - SMTP connections are now reset (RSET) when an error occurs. (Bug 5212) - The SMTP driver now exposes a disconnect() method which forcibly destroys the SMTP connection. (Bug 5372) Release Deps Package Net_SMTP >= 1.1.0 (optional) Last Modified 2005-12-03

Code : Tout sélectionner

About Net_SMTP-1.2.7 ==================== Provides Classes: Package Net_SMTP Summary Provides an implementation of the SMTP protocol Description Provides an implementation of the SMTP protocol using PEAR's Net_Socket class. Maintainers Chuck Hagenbuch <[email protected]> (lead) Jon Parise <[email protected]> (lead) Version 1.2.7 Release Date 2005-08-21 Release License PHP License Release State stable Release Notes The VRFY command now accepts 252 as a valid response code. (Bug 5083) Release Deps Package Net_Socket == Package Auth_SASL == (optional) Package.xml Version 1.0 Last Installed Version 1.2.3 Last Modified 2005-12-03
ripat