Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > PEAR > Mail
Mail Forum d'entraide pour l'extension Mail du framework PEAR, permettant de manipuler les protocoles et les formats d'e-mails en PHP. Avant de poster -> tutoriels Mail
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/07/2007, 11h02   #1
Invité de passage
 
Inscription : juillet 2007
Messages : 8
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 8
Points : 1
Points : 1
Par défaut [Mail] PHP et serveur SMTP

Salut,
J'ai un ptit probleme dans un code php:

Voici le bout de code (j’ai tt installé pour tt ce qui concerne PEAR) :



Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
 
<html><head><title>An email is sent for you</title>
<head>
<?php
include('init-ado.php');
include("Mail-1.1.14\Mail.php");
$connection=ADONewConnection('mysql');
$connection->Connect(dbnode, dbuser,dbpassword, dbinstance);
//$connection->debug=true;
$email=$_POST['email'];
 
 
$query=" SELECT * from clients where Email='$email'";
$result=$connection->Execute($query);
if ($result==false) die ("failed");
$nombre = $result->RecordCount();
 
if ($nombre==0){
print("This Email doesn't exist");
}
else {
 
$Flogin=$result->Fields('login');
$Fpassword=$result->Fields('password');
 
 
 
 
$recipients = $email;
 
$headers["From"]    = "machin@gmail.com";
$headers["To"]      = $email;
$headers["Subject"] = "message from me";
 
$body = "J'espère que ça marche";
 
$params["host"] = "smtp.gmail.com";
$params["port"] = "25";
$params["auth"] = true;
$params["username"] = "machin@gmail.com";
$params["password"] = "";//my password here
 
// Create the mail object using the Mail::factory method
$mail_object =& Mail::factory("smtp", $params);
 
if (PEAR::isError($mail_object)) 
{
  print "<p>construction de l'objet 'Mail' ratée car ";
  die($mail_object->getMessage()); 
} else
{
  print "<p>objet 'Mail'  construit !";
}
 
$send_result = $mail_object->send($recipients,$headers,$body); 
if (PEAR::isError($send_result)) 
{
  print "<p>envoi de l'email raté car ";
  die($send_result->getMessage()); 
} else
{
  print "<p>envoyé !";
}
 
}
 
?>
 
</html>



J’obtient le message d’erreur suivant :



objet 'Mail' construit !"

envoi de l'email raté car Failed to connect to smtp.gmail.com:25 [SMTP: Invalid response code received from server (code: -1, response: )]




Est-ce que pour tester ce bout de code je dois installer un serveur smtp sur mon PC, si oui lequel*? et du moment où le site est hébergé, je dois avoir accès à leur serveur smtp*?
alhayet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2007, 11h05   #2
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
Tu n'as pas besoin d'installer un serveur smtp puisque justement tu essaies de te connecter a celui de gmail en t'authentifiant.
Par contre il me semble que le port pour le SMTP chez gmail est 587 peut-être faut-il essayer ca?
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2007, 11h12   #3
Invité de passage
 
Inscription : juillet 2007
Messages : 8
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 8
Points : 1
Points : 1
merci,mais ça n'a pas marché
alhayet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2007, 11h16   #4
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
Citation:
Envoyé par alhayet
merci,mais ça n'a pas marché
Toujours le meme message d'erreur? (en remplacant 587 par 25 je suppose)
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2007, 11h22   #5
Invité de passage
 
Inscription : juillet 2007
Messages : 8
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 8
Points : 1
Points : 1
lorsque on met 587,le message d'erreur n'apparait pas mais le truc ne marche pas
alhayet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2007, 11h25   #6
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
Citation:
Envoyé par alhayet
lorsque on met 587,le message d'erreur n'apparait pas mais le truc ne marche pas
Mais encore?
Tu avais, avant, un probleme de connexion au serveur smtp de gmail puisque tu n'étais pas sur le bon port.
Maintenant ca passe correctement, la connexion au serveur est réalisée et le mail semble être envoyé, es-tu sur qu'il n'est pas dans "courrier indésirable" ou "spam" ?
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2007, 11h29   #7
Invité de passage
 
Inscription : juillet 2007
Messages : 8
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 8
Points : 1
Points : 1
non,
et mnt il a affiché:
envoi de l'email raté car Failed to set sender:[SMTP: Invalid response code received from server (code: 530, response: 5.7.0 Must issue a STARTTLS command first g39sm3375398rvb)]
alhayet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2007, 11h31   #8
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
D'après la doc de la fonction mail, gmail n'accepte par les STARTTLS donc essaies de remplacer ton serveur smtp par
EDIT: et dans ton compte gmail, as-tu bien activé le compte pop ?
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2007, 11h42   #9
Invité de passage
 
Inscription : juillet 2007
Messages : 8
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 8
Points : 1
Points : 1
j'ai obtenu:
envoi de l'email raté car Failed to connect to tls://smtp.gmail.com:587 [SMTP: Failed to connect socket: Unable to find the socket transport "tls" - did you forget to enable it when you configured PHP (code: -1, response: )]
alhayet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2007, 11h46   #10
Invité de passage
 
Inscription : juillet 2007
Messages : 8
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 8
Points : 1
Points : 1
merci bcp,je vais essayer encore et je reviens vers toi si ça continue à faire des bugs
alhayet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2007, 11h46   #11
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
Là je suis a court d'idée par contre... Peux-tu essayer un autre serveur smtp? Par exemple celui de ton fournisseur d'acces?
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2007, 11h49   #12
Invité de passage
 
Inscription : juillet 2007
Messages : 8
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 8
Points : 1
Points : 1
j'ai voulu laisser cette solution en dernier
mais voila chui obligée de l'adopter mnt
merci infiniment
alhayet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2007, 11h50   #13
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
Citation:
Envoyé par alhayet
j'ai voulu laisser cette solution en dernier
mais voila chui obligée de l'adopter mnt
merci infiniment
Bah c'est pas définitif, c'est surtout pour savoir si tu as un probleme avec gmail ou le smtp avec authentification en général, en fonction du résultat du test on avisera
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2007, 12h01   #14
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
pour utiliser le serveur SMTP de Gmail, il faut passer par une connexion chiffrée. Est ce que tu es sur que ta bibliothèque d'envoi d'e-mail a cette fonctionnalité ?

Pour le port, ça fonctionne sur les ports 465 et 587 :
http://mail.google.com/support/bin/a...y?answer=13287
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2007, 12h04   #15
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
Citation:
Envoyé par mathieu
pour utiliser le serveur SMTP de Gmail, il faut passer par une connexion chiffrée. Est ce que tu es sur que ta bibliothèque d'envoi d'e-mail a cette fonctionnalité ?

Pour le port, ça fonctionne sur les ports 465 et 587 :
http://mail.google.com/support/bin/a...y?answer=13287
Le pire c'est que j'ai lu un truc a ce sujet y a 10 minutes mais comme je n'avais pas compris que tls était équivalent à SSL j'ai pas fait le rapprochement...
Donc c'est surement un probleme lié au fait que ssl n'est pas activé dans sa configuration?
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2007, 11h06   #16
Invité de passage
 
Inscription : juillet 2007
Messages : 8
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 8
Points : 1
Points : 1
salut,
le probleme est résolu et le mail est envoyé!
solution:
changer le nom de serveur et utiliser
smtp.c2.corpease.net
avec la port 25
et un compte délivré par corpease
c'est l'entreprise ici ki l'utilise

encore une fois merci pour ton aide
alhayet est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h50.


 
 
 
 
Partenaires

Hébergement Web