Mail et socket...

Résolu
Leneuf8000 Messages postés 118 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 6 octobre 2005 - 4 juil. 2005 à 16:45
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 - 5 juil. 2005 à 12:08
Bonjour, voilà, je veux utiliser l'envoi de mails par sockets,
malheureusement dans mon script au obut d'un certains laps de temps (30
sec), l'exécution s'arrête...C'est au niveau du "DATA". Voici le code
que j'ai pu récupérer :



var $fp;



function send($data){

echo nl2br($data)."
\n";

fputs($this->fp, $data."\r\n");

$this->recv();

}



/*FONTION PERMETTANT DE RECUPER LES REPONSE DU SERVEUR
POUR ECRIR EN BLEU QUE C'EST OK au cas d'echec de commande ou adresse
non valide donc reponse de telnet est: 512 on ecrit en ROUGE*/

function recv(){

$response=fgets($this->fp, 4096);

list ($errno, $errmsg) = split (" ", $response);

if ($errno<500){

echo "$response
\n
";

}else{

echo "$response\n
";

exit;

}

}

// FONCTION OPEN smtp

function open($smtpserver,$ti=2){

$this->fp = fsockopen($smtpserver, 25, $errno, $errstr, $ti);

if (!$this->fp){

echo "echec d'ouverture
$smtpserver
$errstr
($errno).<hr>\n";

exit;

}

$this->recv();

}



function close(){

fclose($this->fp);

}

}



$fun = new funavecSMTP;





$mySMTPserver = "smtp.neuf.fr";

$fournisseur="neuf.fr";

$mail="Leneuf8000@hotmail.com";



$terminator=".";



$fun->open($mySMTPserver);

$fun->send("HELO $fournisseur");

//$fun->send("VRFY $mail");

$fun->send("MAIL FROM: service@geniproj.com");

$fun->send("RCPT TO: Leneuf8000@hotmail.com");

$fun->send("DATA\r\n");

//$fun->send("From: service@geniproj.com");

//$fun->send("To: Leneuf8000@hotmail.com");

//$fun->send("MIME-Version: 1.0");

//$fun->send("Subject: R&V ce soir");

//$fun->send("Content-Type: text/plain; charset=iso-8859-1");

//$fun->send("coucou");

$fun->send(".");

$fun->send("QUIT");



/*POUR EXECUTER D OTRE COMMANDE IL SUFFIT DE RAJOUTER ICI SE QUE VOUS VOULEZ EXECUTER

exemple : $fun->send("help");// help indique toute les commande possible de telnet por 25

*/

$fun->send("QUIT");

$fun->close();

Donc tout s'éxécute bien jusqu'à l'envoi du "DATA", si je n'en mets pas justement ça marche...

Voici ce qu'affiche ma machine :

// CODE PAGE telnetemailverif.php


220 Smtp.neuf.fr -- Server ESMTP (Ready)



HELO neuf.fr



250 Smtp.neuf.fr OK, [84.99.117.127].



MAIL FROM: service@geniproj.com



250 2.5.0 Address Ok.



RCPT TO: Leneuf8000@hotmail.com



250 2.1.5 Leneuf8000@hotmail.com OK.



DATA






354 Enter mail, end with a single ".".



.



250 2.5.0 Ok.



QUIT



221 2.3.0 Bye received. Goodbye.



QUIT



Notice: Undefined offset: 1 in c:\documents and settings\igor\mes documents\travail\top_list\mes_scripts\your_webring\telnetemailverif.php on line 19







Merci pour toutes les futur réponses, j'espère ;-)

6 réponses

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
4 juil. 2005 à 16:57
lorsque tu apelles this->recevoir();, alors ton script attend une
réponse, si il n'y en a pas, il attend jusqu'a ce que le temps maximal
soit dépassé... il te faut soit envoyer tout tes datas en même temps
(header du mail compris), soit appeler manuellement $this->recv();
et non automariquement...





In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
3
Leneuf8000 Messages postés 118 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 6 octobre 2005
4 juil. 2005 à 16:48
J'oubliai l'exemple du dessus est quand je ne mets rien dans "DATA" avec des données j'obtiens ce message :

// CODE PAGE telnetemailverif.php


220 sMtp.neuf.fr -- Server ESMTP (Ready)



HELO neuf.fr



250 sMtp.neuf.fr OK, [84.99.117.127].



MAIL FROM: service@geniproj.com



250 2.5.0 Address Ok.



RCPT TO: Leneuf8000@hotmail.com



250 2.1.5 Leneuf8000@hotmail.com OK.



DATA






354 Enter mail, end with a single ".".



coucou



Fatal error: Maximum execution time of 30 seconds exceeded in c:\documents and settings\igor\mes documents\travail\top_list\mes_scripts\your_webring\telnetemailverif.php on line 18
0
Leneuf8000 Messages postés 118 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 6 octobre 2005
4 juil. 2005 à 16:48
J'oubliai l'exemple du dessus est quand je ne mets rien dans "DATA" avec des données j'obtiens ce message :

// CODE PAGE telnetemailverif.php


220 sMtp.neuf.fr -- Server ESMTP (Ready)



HELO neuf.fr



250 sMtp.neuf.fr OK, [84.99.117.127].



MAIL FROM: service@geniproj.com



250 2.5.0 Address Ok.



RCPT TO: Leneuf8000@hotmail.com



250 2.1.5 Leneuf8000@hotmail.com OK.



DATA






354 Enter mail, end with a single ".".



coucou



Fatal error: Maximum execution time of 30 seconds exceeded in c:\documents and settings\igor\mes documents\travail\top_list\mes_scripts\your_webring\telnetemailverif.php on line 18






Merci de vos réponses
0
Leneuf8000 Messages postés 118 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 6 octobre 2005
5 juil. 2005 à 09:38
Et comment ferai tu pour envoyer tous les headers en meme temps ici?

J'ai essayé :

$fun->send("DATA");

$fun->send("coucou ça va."); //Donc avec le point ici




Autrement :

$fun->send("DATA\r\nFrom: service@geniproj.com\r\nTo: Leneuf8000@hotmail.com\r\ncoucou\r\n.");



Mais aucune méthode ne marche...Merci de ton aide.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Leneuf8000 Messages postés 118 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 6 octobre 2005
5 juil. 2005 à 09:57
Bon ben ça marche, j'ai reçu aujourd'hui les mails que j'avais écrit hier !!!

En tout cas, ta méthode m'a bien aidée thanks !!!
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
5 juil. 2005 à 12:08
de rien

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
0
Rejoignez-nous