Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Do wszytkich ktorym nie dziala mail()
Forum PHP.pl > Forum > Przedszkole
bero
Post ten zmieszczam w zwiazku z tym, że duzo ludzi prosi o pomoc w tym temacie zreszta ja sam prosiłem i nikt mi nie mógł sensownie pomóc. Wkoncu jakos sobie dałem rade :-) skryp ten zaznaczam nie jest mojego autorstwa, wygrzebałem go z forum webhelp.pl aby wysalc email przy jego pomocy należy miec zalorzona skrzynke pocztowa na jakims serwerze i znac jego adres oraz swoj login.

U mnie to działa i nie potrzeba zadnych serwerów pocztowych stawiać ;-)
  1. <? 
  2. $o_smtp_host='nazwa serwera_smtp'; 
  3. $o_smtp_user='nazwa_skrzynki'; 
  4. $o_smtp_pass='haslo'; 
  5. $o_webmaster_email='nazwa_skrzynki@cos.pl'; 
  6.  
  7.  
  8. function server_parse($socket, $expected_response) 
  9. { 
  10. while (substr($server_response, 3, 1) != ' ') 
  11.  { 
  12. if (!($server_response = fgets($socket, 256))) 
  13.  error('Brak odpowiedzi ze strony serwera pocztowego. Prosz skontaktowa si z administrat
  14. rem.', __FILE__, __LINE__); 
  15.  } 
  16.  
  17.  if (!(substr($server_response, 0, 3) == $expected_response)) 
  18. print('Nie można wysa wiadomości e-mail, z powodu: \"'.$server_response.'\" Prosz skontaktowa si z administratorem. ');//, __FILE__, __LINE__); 
  19. }
  20.  
  21.  
  22. $to='adresat_listu';
  23.  
  24. $subject='temat';
  25.  
  26. $message='wiadomosc';
  27.  
  28.  
  29. function smtp_mail($to, $subject, $message, $headers = '') 
  30. { 
  31.  
  32. global $o_smtp_host,$o_smtp_user,$o_smtp_pass,$o_webmaster_email,$i,$server_response; 
  33. //koniec z definiowaniem 
  34.  
  35.  $recipients = explode(',', $to); 
  36.  
  37.  // Are we using port 25 or a custom port? 
  38.  if (strpos($o_smtp_host, ':') !== false) 
  39. list($o_smtp_host, $o_smtp_port) = explode(':', $o_smtp_host); 
  40.  else 
  41.  { 
  42. $smtp_host = $o_smtp_host; 
  43. $smtp_port = 25; 
  44.  } 
  45.  
  46.  if (!($socket = fsockopen($smtp_host, $smtp_port, $errno, $errstr, 15))) 
  47. error('Nie moıĽna poÂ&plusmn;czy si z serwerem smtp \"'.$o_smtp_host.'\" ('.$errno.') ('.$errstr.')', __FILE__, __LINE__); 
  48.  
  49.  server_parse($socket, '220'); 
  50.  
  51.  if ($o_smtp_user != '' && $o_smtp_pass != '') 
  52.  { 
  53. fwrite($socket, 'EHLO '.$smtp_host.&#092;"rn\"); 
  54. server_parse($socket, '250'); 
  55.  
  56. fwrite($socket, 'AUTH LOGIN'.&#092;"rn\"); 
  57. server_parse($socket, '334'); 
  58.  
  59. fwrite($socket, base64_encode($o_smtp_user).&#092;"rn\"); 
  60. server_parse($socket, '334'); 
  61.  
  62. fwrite($socket, base64_encode($o_smtp_pass).&#092;"rn\"); 
  63. server_parse($socket, '235'); 
  64.  } 
  65.  else 
  66.  { 
  67. fwrite($socket, 'HELO '.$smtp_host.&#092;"rn\"); 
  68. server_parse($socket, '250'); 
  69.  } 
  70.  
  71.  fwrite($socket, 'MAIL FROM: <'.$o_webmaster_email.'>'.&#092;"rn\"); 
  72.  server_parse($socket, '250'); 
  73.  
  74.  $to_header = 'To: '; 
  75.  
  76.  @reset($recipients); 
  77.  while (list(, $email) = @each($recipients)) 
  78.  { 
  79. fwrite($socket, 'RCPT TO: <'.$email.'>'.&#092;"rn\"); 
  80. server_parse($socket, '250'); 
  81.  
  82. $to_header .= '<'.$email.'>, '; 
  83.  } 
  84.  
  85.  fwrite($socket, 'DATA'.&#092;"rn\"); 
  86.  server_parse($socket, '354'); 
  87.  
  88.  fwrite($socket, 'Subject: '.$subject.&#092;"rn\".$to_header.\"rn\".$headers.\"rnrn\".$message.\"rn\"); 
  89.  
  90.  fwrite($socket, '.'.&#092;"rn\"); 
  91.  server_parse($socket, '250'); 
  92.  
  93.  fwrite($socket, 'QUIT'.&#092;"rn\"); 
  94.  fclose($socket); 
  95.  
  96.  return true; 
  97. } 
  98.  
  99.  
  100. if(smtp_mail($to, $subject, $message, $headers = '')==true)
  101. echo&#092;"<br>wiadomosc wyslano\";
  102. ?>
Kshyhoo
Działa!!
slash^
550 Administrative prohibition

jak to obejsc? ;p ew. co ustawic? smile.gif
Bakus
bero: Uporzadkuj kod i dodaj komentarze, a temat przypne - przyda sie...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.