mail() avec XAMPP et gmail

Eléphanteau du PHP | 18 Messages

12 janv. 2011, 12:31

Bonjour,

j'ai une petite application web qui est censée à un moment donné m'envoyer un mail (sur mon adresse gmail).
J'ai créé un compte gmail exprès pour cette appli.

Seulement voilà, il me semble avoir configuré le php.ini de sorte qu'il utilise le sendmail.exe de XAMPP.
Il me semble aussi avoir correctement configuré un compte gmail dans le sendmail.ini .
Le retour de mon script m'affiche que le mail a bien été envoyé, seulement je ne reçoit désespérément rien dans ma boite gmail :'(
voici la partie me concernant du php.ini :
[mail function]
; For Win32 only.
; http://php.net/smtp
;SMTP = smtp.gmail.com
; http://php.net/smtp-port
;smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = [email protected]

; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path = "\"\BTS\xampp\sendmail\sendmail.exe\" -t"

; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail(), even in safe mode.
;mail.force_extra_parameters =

; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
mail.add_x_header = Off

; Log all mail() calls including the full path of the script, line #, to address and headers
mail.log = "\BTS\xampp\apache\logs\php_mail.log"
voici le sendmail.ini
# Example for a user configuration file

# Set default values for all following accounts.
defaults
logfile "\BTS\xampp\sendmail\sendmail.log"

# Mercury
account Mercury
host localhost
from [email protected]
auth off

# A freemail service example
account Hotmail
tls on
tls_certcheck off
host smtp.live.com
from [exampleuser]@hotmail.com
auth on
user [exampleuser]@hotmail.com
password [examplepassword]

account gmail
tls on
tls_certcheck on
host smtp.gmail.com
from [email protected]
auth on
user [email protected]
password monpass

# Set a default account
account default : gmail
et enfin voici le code php gérant cet envoi :
echo "<br />L'adresse destinataire est $mail.";
	//ini_set('SMTP', 'smtp.gmail.com');
	$headers ='From: "Rezo"<[email protected]>'."\n"; 
    $headers .='Reply-To: [email protected]'."\n"; 
   	$headers .='Content-Type: text/plain; charset="UTF-8"'."\n"; 
    $headers .='Content-Transfer-Encoding: 8bit'; 
	if(mail($mail, 'Un message de mon application', 'Bonjour, je suis une appli', $headers)) 
   	{ 
    	echo 'Le message a bien été envoyé'; 
   	} 
   	else 
  	{ 
 		echo 'Le message n\'a pu être envoyé'; 
   	} 
J'ai lu quelques tutos sur le net, trouvé plusieurs versions du php.ini... mais rien de ce que j'ai lu n'a fonctionné, du moins je n'ai su en faire fonctionner aucun.

Quelqu'un aurait une idée ?
contact[@]camille-hodoul.com
http://camille-hodoul.com/

ViPHP
ViPHP | 5462 Messages

12 janv. 2011, 12:35

tes lignes sont commentées, enlève les ;

Eléphanteau du PHP | 18 Messages

12 janv. 2011, 12:47

les lignes du haut oui, mais j'ai décommenté
sendmail_path = "\"\BTS\xampp\sendmail\sendmail.exe\" -t"

j'ai lu que malgré l'avertissement "For Unix only", avec XAMPP ça marche sous Windows.

De toute façon, même en décommentant
;SMTP = smtp.gmail.com
et
;smtp_port = 25

cela ne fonctionne pas :'(

EDIT : j'ai réessayé en faisant ce que tu m'a dis, cela m'affiche le message d'erreur suivant :
"Warning: mail() [function.mail]: SMTP server response: 530 5.7.0 Must issue a STARTTLS command first."

Ce qui m'avait amené sur ce tutoriel : (en anglais) http://byitcurious.blogspot.com/2009/04 ... mmand.html
sur lequel j'ai lu qu'il fallait utiliser le sendmail (donc commenter SMTP= et smtp_port et décommenter sendmail_path)
contact[@]camille-hodoul.com
http://camille-hodoul.com/

Eléphanteau du PHP | 18 Messages

17 janv. 2011, 16:38

je me permet de up le post car je butte toujours sur ce foutu mail() :/
contact[@]camille-hodoul.com
http://camille-hodoul.com/

ViPHP
ViPHP | 5462 Messages

17 janv. 2011, 16:41

le serveur gmail attend que la connexion sois chiffré, mais impossible de faire ca avec la conf mail de base de php, utilise une Lib PHP pour faire ca

Eléphanteau du PHP | 18 Messages

17 janv. 2011, 17:20

Merci, je vais chercher de ce côté là.
je vais commencer par phpmailer
http://deepakssn.blogspot.com/2006/06/g ... -with.html
contact[@]camille-hodoul.com
http://camille-hodoul.com/

anonyme
Invité n'ayant pas de compte PHPfrance

13 juil. 2012, 12:53

Salut,

voici mon sendmail.ini :

Code : Tout sélectionner

; configuration for fake sendmail ; if this file doesn't exist, sendmail.exe will look for the settings in ; the registry, under HKLM\Software\Sendmail [sendmail] ; you must change mail.mydomain.com to your smtp server, ; or to IIS's "pickup" directory. (generally C:\Inetpub\mailroot\Pickup) ; emails delivered via IIS's pickup directory cause sendmail to ; run quicker, but you won't get error messages back to the calling ; application. smtp_server=smtp.gmail.com ; smtp port (normally 25) smtp_port=587 ; SMTPS (SSL) support ; auto = use SSL for port 465, otherwise try to use TLS ; ssl = alway use SSL ; tls = always use TLS ; none = never try to use SSL smtp_ssl=auto ; the default domain for this server will be read from the registry ; this will be appended to email addresses when one isn't provided ; if you want to override the value in the registry, uncomment and modify default_domain=gmail.com ; log smtp errors to error.log (defaults to same directory as sendmail.exe) ; uncomment to enable logging error_logfile=error.log ; create debug log as debug.log (defaults to same directory as sendmail.exe) ; uncomment to enable debugging ;debug_logfile=debug.log ; if your smtp server requires authentication, modify the following two lines [email protected] auth_password=mon mdp ; if your smtp server uses pop3 before smtp authentication, modify the ; following three lines. do not enable unless it is required. pop3_server= pop3_username= pop3_password= ; force the sender to always be the following email address ; this will only affect the "MAIL FROM" command, it won't modify ; the "From: " header of the message content [email protected] ; force the sender to always be the following email address ; this will only affect the "RCTP TO" command, it won't modify ; the "To: " header of the message content force_recipient= ; sendmail will use your hostname and your default_domain in the ehlo/helo ; smtp greeting. you can manually set the ehlo/helo name if required hostname=
et voici mon php.ini :

Code : Tout sélectionner

[mail function] ; For Win32 only. ; http://php.net/smtp SMTP = smtp.gmail.com ; http://php.net/smtp-port smtp_port = 25 ;auth_username = [email protected] ;auth_password = mon mdp ; For Win32 only. ; http://php.net/sendmail-from sendmail_from = [email protected] ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). ; http://php.net/sendmail-path sendmail_path = C:/wamp/sendmail/sendmail.exe ; Force the addition of the specified parameters to be passed as extra parameters ; to the sendmail binary. These parameters will always replace the value of ; the 5th parameter to mail(), even in safe mode. ;mail.force_extra_parameters = ; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename mail.add_x_header = On ; Log all mail() calls including the full path of the script, line #, to address and headers ;mail.log =
et chez moi ça marche .