Arrrghh elle est ou l'erreur ???

Arrrghh elle est ou l'erreur ??? - PHP - Programmation

Marsh Posté le 17-01-2003 à 16:56:00    

J'ai une erreur a la ligne 126 !!!!
et ca me met que c'est une erreur de port soit-disant...
heu...
la ligne 126 c'est celle la :
 
if( !$socket = fsockopen($board_config['smtp_host'], 25, $errno, $errstr, 20) )
 
et voila tout le code...
 

Code :
  1. <?php
  2. /***************************************************************************
  3. *                              smtp.php
  4. *                       -------------------
  5. *   begin                : Wed May 09 2001
  6. *   copyright            : (C) 2001 The phpBB Group
  7. *   email                : support@phpbb.com
  8. *
  9. *   $Id: smtp.php,v 1.16.2.1 2002/07/19 13:48:24 psotfx Exp $
  10. *
  11. ***************************************************************************/
  12. /***************************************************************************
  13. *
  14. *   This program is free software; you can redistribute it and/or modify
  15. *   it under the terms of the GNU General Public License as published by
  16. *   the Free Software Foundation; either version 2 of the License, or
  17. *   (at your option) any later version.
  18. *
  19. ***************************************************************************/
  20. define('SMTP_INCLUDED', 1);
  21. //
  22. // This function has been modified as provided
  23. // by SirSir to allow multiline responses when  
  24. // using SMTP Extensions
  25. //
  26. function server_parse($socket, $response)
  27. {
  28.    while ( substr($server_response,3,1) != ' ' )
  29.    {
  30.       if( !( $server_response = fgets($socket, 256) ) )
  31.       {
  32.          message_die(GENERAL_ERROR, "Couldn't get mail server response codes", "", __LINE__, __FILE__);
  33.       }
  34.    }
  35.    if( !( substr($server_response, 0, 3) == $response ) )
  36.    {
  37.       message_die(GENERAL_ERROR, "Ran into problems sending Mail. Response: $server_response", "", __LINE__, __FILE__);
  38.    }
  39. }
  40. /****************************************************************************
  41. * Function:   smtpmail
  42. * Description:  This is a functional replacement for php's builtin mail
  43. *      function, that uses smtp.
  44. * Usage:   The usage for this function is identical to that of php's
  45. *      built in mail function.
  46. ****************************************************************************/
  47. function smtpmail($mail_to, $subject, $message, $headers = "" )
  48. {
  49. // For now I'm using an array based $smtp_vars to hold the smtp server
  50. // info, but it should probably change to $board_config...
  51. // then the relevant info would be $board_config['smtp_host'] and
  52. // $board_config['smtp_port'].
  53. global $board_config;
  54. //
  55. // Fix any bare linefeeds in the message to make it RFC821 Compliant.
  56. //
  57. $message = preg_replace("/(?<!\r)\n/si", "\r\n", $message);
  58. if ($headers != "" )
  59. {
  60.  if(is_array($headers))
  61.  {
  62.   if(sizeof($headers) > 1)
  63.   {
  64.    $headers = join("\r\n", $headers);
  65.   }
  66.   else
  67.   {
  68.    $headers = $headers[0];
  69.   }
  70.  }
  71.  $headers = chop($headers);
  72.  //
  73.  // Make sure there are no bare linefeeds in the headers
  74.  //
  75.  $headers = preg_replace("/(?<!\r)\n/si", "\r\n", $headers);
  76.  //
  77.  // Ok this is rather confusing all things considered,
  78.  // but we have to grab bcc and cc headers and treat them differently
  79.  // Something we really didn't take into consideration originally
  80.  //
  81.  $header_array = explode("\r\n", $headers);
  82.  @reset($header_array);
  83.  $headers = "";
  84.  while( list(, $header) = each($header_array) )
  85.  {
  86.   if( preg_match("/^cc:/si", $header) )
  87.   {
  88.    $cc = preg_replace("/^cc:(.*)/si", "\\1", $header);
  89.   }
  90.   else if( preg_match("/^bcc:/si", $header ))
  91.   {
  92.    $bcc = preg_replace("/^bcc:(.*)/si", "\\1", $header);
  93.    $header = "";
  94.   }
  95.   $headers .= $header . "\r\n";
  96.  }
  97.  $headers = chop($headers);
  98.  $cc = explode(",", $cc);
  99.  $bcc = explode(",", $bcc);
  100. }
  101. if(trim($mail_to) == "" )
  102. {
  103.  message_die(GENERAL_ERROR, "No email address specified", "", __LINE__, __FILE__);
  104. }
  105. if(trim($subject) == "" )
  106. {
  107.  message_die(GENERAL_ERROR, "No email Subject specified", "", __LINE__, __FILE__);
  108. }
  109. if(trim($message) == "" )
  110. {
  111.  message_die(GENERAL_ERROR, "Email message was blank", "", __LINE__, __FILE__);
  112. }
  113. $mail_to_array = explode(",", $mail_to);
  114. //
  115. // Ok we have error checked as much as we can to this point let's get on
  116. // it already.
  117. //
  118. if( !$socket = fsockopen($board_config['smtp_host'], 25, $errno, $errstr, 20) )
  119. {
  120.  message_die(GENERAL_ERROR, "Could not connect to smtp host : $errno : $errstr", "", __LINE__, __FILE__);
  121. }
  122. server_parse($socket, "220" );
  123. if( !empty($board_config['smtp_username']) && !empty($board_config['smtp_password']) )
  124. {
  125.  // Send the RFC2554 specified EHLO.  
  126.  // This improved as provided by SirSir to accomodate
  127.  // both SMTP AND ESMTP capable servers
  128.  fputs($socket, "EHLO " . $board_config['smtp_host'] . "\r\n" );
  129.  server_parse($socket, "250" );
  130.  fputs($socket, "AUTH LOGIN\r\n" );
  131.  server_parse($socket, "334" );
  132.  fputs($socket, base64_encode($board_config['smtp_username']) . "\r\n" );
  133.  server_parse($socket, "334" );
  134.  fputs($socket, base64_encode($board_config['smtp_password']) . "\r\n" );
  135.  server_parse($socket, "235" );
  136. }
  137. else
  138. {
  139.  // Send the RFC821 specified HELO.  
  140.  fputs($socket, "HELO " . $board_config['smtp_host'] . "\r\n" );
  141.  server_parse($socket, "250" );
  142. }
  143. // From this point onward most server response codes should be 250
  144. // Specify who the mail is from....
  145. fputs($socket, "MAIL FROM: <" . $board_config['board_email'] . ">\r\n" );
  146. server_parse($socket, "250" );
  147. // Specify each user to send to and build to header.
  148. $to_header = "To: ";
  149. @reset( $mail_to_array );
  150. while( list( , $mail_to_address ) = each( $mail_to_array ))
  151. {
  152.  //
  153.  // Add an additional bit of error checking to the To field.
  154.  //
  155.  $mail_to_address = trim($mail_to_address);
  156.  if ( preg_match('/[^ ]+\@[^ ]+/', $mail_to_address) )
  157.  {
  158.   fputs( $socket, "RCPT TO: <$mail_to_address>\r\n" );
  159.   server_parse( $socket, "250" );
  160.  }
  161.  $to_header .= ( ( $mail_to_address != '' ) ? ', ' : '' ) . "<$mail_to_address>";
  162. }
  163. // Ok now do the CC and BCC fields...
  164. @reset( $bcc );
  165. while( list( , $bcc_address ) = each( $bcc ))
  166. {
  167.  //
  168.  // Add an additional bit of error checking to bcc header...
  169.  //
  170.  $bcc_address = trim( $bcc_address );
  171.  if ( preg_match('/[^ ]+\@[^ ]+/', $bcc_address) )
  172.  {
  173.   fputs( $socket, "RCPT TO: <$bcc_address>\r\n" );
  174.   server_parse( $socket, "250" );
  175.  }
  176. }
  177. @reset( $cc );
  178. while( list( , $cc_address ) = each( $cc ))
  179. {
  180.  //
  181.  // Add an additional bit of error checking to cc header
  182.  //
  183.  $cc_address = trim( $cc_address );
  184.  if ( preg_match('/[^ ]+\@[^ ]+/', $cc_address) )
  185.  {
  186.   fputs($socket, "RCPT TO: <$cc_address>\r\n" );
  187.   server_parse($socket, "250" );
  188.  }
  189. }
  190. // Ok now we tell the server we are ready to start sending data
  191. fputs($socket, "DATA\r\n" );
  192. // This is the last response code we look for until the end of the message.
  193. server_parse($socket, "354" );
  194. // Send the Subject Line...
  195. fputs($socket, "Subject: $subject\r\n" );
  196. // Now the To Header.
  197. fputs($socket, "$to_header\r\n" );
  198. // Now any custom headers....
  199. fputs($socket, "$headers\r\n\r\n" );
  200. // Ok now we are ready for the message...
  201. fputs($socket, "$message\r\n" );
  202. // Ok the all the ingredients are mixed in let's cook this puppy...
  203. fputs($socket, ".\r\n" );
  204. server_parse($socket, "250" );
  205. // Now tell the server we are done and close the socket...
  206. fputs($socket, "QUIT\r\n" );
  207. fclose($socket);
  208. return TRUE;
  209. }
  210. ?>


Message édité par bagu le 17-01-2003 à 20:01:18
Reply

Marsh Posté le 17-01-2003 à 16:56:00   

Reply

Marsh Posté le 17-01-2003 à 17:00:32    

tu pourrais pas plutôt coller le message d'erreur stp ?


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 17-01-2003 à 17:09:50    

:ouch:


Message édité par Dost67 le 17-01-2003 à 17:10:03
Reply

Marsh Posté le 17-01-2003 à 17:10:57    

Entoure le code avec [ cpp ] [ /cpp ] ou [ code ] parce que c illisible. Re  :ouch:

Reply

Marsh Posté le 17-01-2003 à 20:00:22    

l'erreur c'est :  
 
Erreur Générale  
Failed sending email  
 
 
avant c'était :
 
smtp error
critical error in line 126

Reply

Marsh Posté le 17-01-2003 à 21:20:32    

Encore une fois, demandes sur les forums de support à phpbb. Ici, c'est prog, et personnellement, je ne trouve pas très intéressant de débugger des applications complêtes comme phpbb.  
 
C'est toujours le même problème, les mecs installes des scripts tout fait sur leur serveur sans comprendre 3 mots du script, et ensuite, ils viennent pleurer ici...
 
Apprends le php, et fais toi même tes scripts, là on sera tous très disposés à t'aider.
 
Ne prends pas mal ce que je te dis, mais si tout le monde fait comme toi, on passerait notre vie à debbugger, mynews, phpnuke et ses dérivés, vbulletin etc... Ce sont des applis qui sont mises au point par des groupes avec un support assuré, donc exit prog...
 
En plus, vue l'erreur, tu dois être sur multimerde ou sur free...


Message édité par Hermes le Messager le 17-01-2003 à 21:21:22
Reply

Marsh Posté le 17-01-2003 à 23:19:10    

Je croyais que c'était un forum d'entraide ici...Mince je me suis trompé... :pfff:  
c'est juste un forum ou on aide que les personnes qui sont déjà bien formés...
C'est bête...je vais devoir me démerder sans rien comprendre sans aide ... :pt1cable:  
Au fait...je n'ai rien contre toi non plus mais faut savoir lire : je souhaite comprendre l'erreur...pas que vous me donnier la solution toute faite...
Sur ce, si tu ne veux pas m'aider et faire avancer le schmilblique....tant pis pour moi et pour toi...
pour moi car tu ne m'a été d'aucune utilité
pour toi car tu as vraiment perdu ton temps...désolé...

Reply

Marsh Posté le 17-01-2003 à 23:29:02    

Ben non, toi tu sais maintenant que pour utiliser des scripts tout faits en php, il faut apprendre un peu de php. Et moi, je t'ai mis sur la voie (qui est la seule en l'occurence). Après, à toi de voir si tu veux faire un petit effort ou pas.
 
De toutes façons, je t'ai dit d'aller sur le forum de support de phpbb. Il y en a deux spécialement faits pour les personnes comme toi.

Reply

Marsh Posté le 18-01-2003 à 01:15:10    

Et oui...comme je disais...quand on viens juste de débuter et qu'on ne comprend pas encore grand chose au php...hé bien on ne doit pas compter sur toi sauf pour se faire rediriger...merci quand même. [:youyou2224]
 
Edit:  
Heu pour info cela fait deux jour que j'essaye les solution proposées...
et aucune ne marche pour le moment...
car l'erreur vient du fait, et tu l'avais bien deviné, que sous free la fonction mail() est désactivée...
Je cherche donc une solution intermédiaire...


Message édité par bagu le 18-01-2003 à 01:18:25
Reply

Marsh Posté le 18-01-2003 à 01:20:57    

Si sous free, la fonction mail est désactivée, il n'y a rien à faire. (du moins avec free).
 

Reply

Marsh Posté le 18-01-2003 à 01:20:57   

Reply

Marsh Posté le 18-01-2003 à 12:06:20    

Hermes le Messager a écrit :

Si sous free, la fonction mail est désactivée, il n'y a rien à faire. (du moins avec free).
 
 

si il propose un cgi de remplacement ;)
 
mais c'est juste pour els formulaire
http://support.free.fr/web/pperso/forms.html

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed