Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Do wszytkich ktorym nie dziala mail(), alternatywa dla wysylania email
bero
post 30.04.2005, 15:27:50
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 11.03.2005

Ostrzeżenie: (0%)
-----


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. ?>
Go to the top of the page
+Quote Post
Kshyhoo
post 30.04.2005, 15:47:09
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Działa!!


--------------------
Go to the top of the page
+Quote Post
slash^
post 6.05.2005, 01:54:04
Post #3





Grupa: Zarejestrowani
Postów: 278
Pomógł: 36
Dołączył: 9.04.2003
Skąd: Płock

Ostrzeżenie: (0%)
-----


550 Administrative prohibition

jak to obejsc? ;p ew. co ustawic? smile.gif


--------------------
d(^^)b
Go to the top of the page
+Quote Post
Bakus
post 6.05.2005, 05:04:01
Post #4


Administrator serwera


Grupa: Przyjaciele php.pl
Postów: 909
Pomógł: 0
Dołączył: 12.08.2003
Skąd: /var/www/wroclaw.php

Ostrzeżenie: (0%)
-----


bero: Uporzadkuj kod i dodaj komentarze, a temat przypne - przyda sie...


--------------------
Powrót do przeszłości :)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 7.07.2025 - 11:41