Page 1 sur 2

mail() et localhost

Posté : 30 déc. 2010, 14:54
par Guillaume150
Bonsoir,

Cette question fut sans doute posée des dizaines de fois, mais dur de retrouver d'autres personnes l'ayant posée. Donc je suis en local et j'utilise mail() mais j'ai le message d'erreur suivant:
Warning: mail() [function.mail]: SMTP server response: 530 5.7.0 Must issue a STARTTLS command first. n78sm7222408weq.27 in C:\wamp\www\aaaaaaaaa\inscription.php on line 145
Je sais qu'il faut (enfin pas sur) modifier les réglages de wamp j'ai donc cherché sur le net et j'ai remplacé:
[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = smtp.gmail.com
; http://php.net/smtp-port
smtp_port = 25
par
[mail function]
; For Win32 only.
SMTP = smtp.gmail.com
smtp_port = 25
[mail function]
; For Win32 only.
;sendmail_from = <a href="mailto:[email protected]">[email protected]</a>
Mais j'ai toujours des erreurs:
Notice: Undefined variable: headers in C:\wamp\www\integrationlistejeu\inscription.php on line 141

Warning: mail() [function.mail]: SMTP server response: 530 5.7.0 Must issue a STARTTLS command first. i80sm7249492wej.4 in C:\wamp\www\integrationlistejeu\inscription.php on line 145

Voilà, donc si quelqu'un pouvait m'aider à résoudre ce problème.

Merci

Re: mail() et localhost

Posté : 30 déc. 2010, 14:58
par xTG
Le warning concerne-t-il les paramètres du header à fournir dans le mail ?
Si c'est le cas regarde la documentation pour voir ce qu'il y a à mettre dans le header d'un email et remplie ta variable qui ne l'est pas. ^^

Re: mail() et localhost

Posté : 30 déc. 2010, 15:02
par guillaume150
Warning: mail() [function.mail]: SMTP server response: 530 5.7.0 Must issue a STARTTLS command first. o33sm7686603wej.37 in C:\wamp\www\integrationlistejeu\inscription.php on line 145
Toujours ca et voici le code de mon code pour l'envoi de mail:
if ($valid) {
  
  $hash = md5(rand(0,10000000));
  
  $to = $mail;
  $subject = 'Validation inscription du site "Liste Jeux": http://www.aaaaaa.com';
  $message = 
  '
  <p>Bonjour '.$login.'!<br /><br/>
  Nous vous remercions pour votre inscription sur le site <a href="www.aaaaa.com">aaaaaaaa</a>
  Afin de pouvoir vous connecter et profiter de toutes les fonctionnalités présentes sur le site, merci de valider votre compte en cliquant sur le lien suivant:
  <a href="http://localhost/integrationlistejeu/verif.php?mail='.$mail.'$hash='.$hash.'">http://localhost/integrationlistejeu/verif.php?mail='.$mail.'$hash='.$hash.'</a>'
  ;
  
;
  $headers = 'From: Liste Jeux <[email protected]>' . "\r\n";
  $headers .= 'MIME-Version: 1.0' . "\r\n";
  $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";  

  mail($to, $subject, $message, $headers);
  
  membreFactory::sauvegardeUser($login, md5($pass), $mail, $hash);
$crea_valid = true;
  
  
  
  }
Merci beaucoup

Re: mail() et localhost

Posté : 30 déc. 2010, 15:11
par moogli
salut,

il faut enlever le ; de la ligne send_mail (le ; indique un commentaire, donc la ligne n'est pas "lue") => solution indiquée par google sur le 1er résultat.

ensuite il semble que google utilise (comme beaucoup) SSL et une demande user / pwd ce qui n'est pas possible ainsi via php et donc rend ta solution impossible.

il existe des serveur smtp gratuits que tu peut installer facilement sur ta machine afin de pouvoir tester ce que tu souhaite ;)

pour la 1ere erreur je partage l'avis de xTG la variable headers n'existe pas ;)

@+

Re: mail() et localhost

Posté : 30 déc. 2010, 15:15
par telnes
yes
SMTP server response: 530 5.7.0 Must issue a STARTTLS command first.
il demande une connexion sécurisé TLS

Ton FAI peut faire l'affaire !

++

Re: mail() et localhost

Posté : 30 déc. 2010, 15:16
par guillaume150
il faut enlever le ; de la ligne send_mail (le ; indique un commentaire, donc la ligne n'est pas "lue")
Je ne vois pas ou?
pour la 1ere erreur je partage l'avis de xTG la variable headers n'existe pas ;)
J'ai réglé le problème dans mon message précédent.


Merci

Re: mail() et localhost

Posté : 30 déc. 2010, 15:32
par moogli
dans ton php.ini

@telnes : oui tant qu'il n'y a pas de demande de login / mdp

@+

Re: mail() et localhost

Posté : 30 déc. 2010, 15:45
par guillaume150
Je viens d'aller dans le php.ini et je n'ai plus de paragraphe concernant [mail function] à quoi c'est du?

Merci

Re: mail() et localhost

Posté : 30 déc. 2010, 16:02
par telnes
tu la delete :shock:

Re: mail() et localhost

Posté : 30 déc. 2010, 16:16
par guillaume150
Je ne pense pas, je peux le remettre ou je veux dans le php.ini ou il y a un ordre?

Re: mail() et localhost

Posté : 30 déc. 2010, 16:59
par moogli
c'est un fichier de conf, normalement y a pas de soucis

la section ressemble à ça

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 ; 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 = ; 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 ; The path to a log file that will log all mail() calls. Log entries include ; the full path of the script, line number, To address and headers. ;mail.log =
juste après Syslog
@+

Re: mail() et localhost

Posté : 30 déc. 2010, 19:37
par guillaume150
Enfaite ca n'avait pas disparu un problème du ctrl + f mais j'ai toujours le problème...

Re: mail() et localhost

Posté : 30 déc. 2010, 22:40
par moogli
a tu essayer d'installer un serveur smtp sur ton pc (c'est le seul moyen de te mettre dans les conditions du serveur en ligne).

@+

Re: mail() et localhost

Posté : 31 déc. 2010, 13:41
par guillaume150
C'est fait, j'ai pris SMTP server mais comment je l'utilise maintenant?

Merci

Re: mail() et localhost

Posté : 31 déc. 2010, 14:57
par moogli
heu t'a regardé la doc du serveur ?

dans la conf de php c'est la conf d'origien (serveur locahost avec le port que tu configure dans le serveur smtp et le send_mail_from a renseigner

@+

edit :

je viens de tester avec serveur gratis
- insataller le bazard
- créer un compte dedans
- configurer le php.ini avec localhost et send_mail_from = [email protected]

tester avec un script simple comme ceux de la doc
<?php
     $to      = 'xxxxx';
     $subject = 'le sujet';
     $message = 'Bonjour !';
     $headers = 'From: [email protected]' . "\r\n" .
     'Reply-To: [email protected]' . "\r\n" .
     'X-Mailer: PHP/' . phpversion();

    $x = mail($to, $subject, $message, $headers);
	if ($x === true) echo 'yaaaaahhhhooo !!!';
	else echo 'so bad :/';
 ?>
- vérifier que le mail arrive et c'est bon

a tu des soucis sur la conf ?

@+