Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Serwer SMTP
Forum PHP.pl > Forum > Serwery WWW
pstawik
Witam!!!
Mam zainstalowane php v.5.1.2 Apache 1.3.34 i MySQL 5.0.18 oraz Free SMTP Server i chciałęm wysłac mail'a za pomocą fukcji mail()
W skrypcie ma ona posatć:

Kod
$nazwa=$_POST['nazwa'];
  $email=$_POST['email'];
  $komentarz=$_POST['komentarz'];
  $adresdo = 'pstawik@op.pl';
  $temat = 'Komentarz ze strony WWW';
  $zawartosc = 'Nazwa klienta: '.$nazwa."\n"
               .'Adres pocztowy: '.$email."\n"
               ."Komentarz klienta: \n".$komentarz."\n";
  $adresod = 'pstawik@op.pl';
  mail($adresdo, $temat, $zawartosc, $adresod);


I po odpaleniu wywala mi błąd:
Kod
Warning: mail() [function.mail]: SMTP server response: 550 Invalid recipient: pstawik@op.pl in c:\program files\apache group\Apache\htdocs\przetworzkomentarz.php on line 12


Nie wiem w czym leży przyczyna?questionmark.gif
W pliku php.ini mam wpisy:
Kod
[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25

; For Win32 only.
sendmail_from = stronka@moja.pl

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
sendmail_path = "c:\Program Files\Free SMTP Server\localsrv.exe -t"


Proszę o radę i z góry dzięki.
Kshyhoo
Zobacz to, na pewno działa bez żadnej konfiguracji. Kiedyś ktoś zamieścił na Forum:
  1. <?
  2. $o_smtp_host='poczta.o2.pl'; //serwer
  3. $o_smtp_user='L_O_G_I_N'; //login
  4. $o_smtp_pass='H_A_S_Ł_O'; //haslo
  5. $o_webmaster_email='L_O_G_I_N@tlen.pl'; .//adres email
  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 administ
    ratorem.'
    , __FILE__, __LINE__);
  14.  }
  15.  
  16.  if (!(substr($server_response, 0, 3) == $expected_response))
  17. print('Nie można wysać wiadomości e-mail, z powodu: "'.$server_response.'" Proszę skontaktowa się z administratorem. ');//, __FILE__, __LINE__);
  18. }
  19.  
  20.  
  21. #$to='adresat_listu';
  22. $to='L_O_G_I_N@tlen.pl'; //adres email
  23. #$subject='tytul wiadomosci'; //tytul wiadomosci
  24. $subject='TEST'; //tytul
  25. #$message='TREŚĆ'; //tresc
  26. $message="
  27. <html>
  28. <head>
  29. <title>Tytuł strony</title>
  30. </head>
  31. <body bgcolor=\"yellow\">
  32. <H2>To jest wiadomość testowa!<br><br>OK!</H2>
  33. </body>
  34. </html>";
  35.  
  36. //Tu określamy Mime i kodowanie strony
  37. //Mime to nic innego jak spis akceptowanych przez serwer typów plików - mime type,
  38. //kodowania chyba nie trzeba tłumaczyć
  39. $headers = "MIME-Version: 1.0\r\n";
  40. $headers .= "Content-type: text/html; charset=iso-8859-2\r\n";
  41. //nagłówek od kogo wysyłana jest poczta
  42. $headers .= "From: O_D__K_O_G_O <L_O_G_I_N@tlen.pl>\r\n";
  43. //dodatkowe nagłówki C.Copy
  44. $headers .= "Cc: \r\n";
  45. $headers .= "Bcc: \r\n";
  46.  
  47.  
  48. function smtp_mail($to, $subject, $message, $headers)
  49. {
  50.  
  51. global $o_smtp_host,$o_smtp_user,$o_smtp_pass,$o_webmaster_email,$i,$server_response;
  52. //koniec z definiowaniem
  53.  
  54.  $recipients = explode(',', $to);
  55.  
  56.  // Are we using port 25 or a custom port?
  57.  if (strpos($o_smtp_host, ':') !== false)
  58. list($o_smtp_host, $o_smtp_port) = explode(':', $o_smtp_host);
  59.  else
  60.  {
  61. $smtp_host = $o_smtp_host;
  62. $smtp_port = 25;
  63.  }
  64.  
  65.  if (!($socket = fsockopen($smtp_host, $smtp_port, $errno, $errstr, 15)))
  66. error('Nie można połączyć się z serwerem smtp "'.$o_smtp_host.'" ('.$errno.') ('.$errstr.')', __FILE__, __LINE__);
  67.  
  68.  server_parse($socket, '220');
  69.  
  70.  if ($o_smtp_user != '' && $o_smtp_pass != '')
  71.  {
  72. fwrite($socket, 'EHLO '.$smtp_host."\r\n");
  73. server_parse($socket, '250');
  74.  
  75. fwrite($socket, 'AUTH LOGIN'."\r\n");
  76. server_parse($socket, '334');
  77.  
  78. fwrite($socket, base64_encode($o_smtp_user)."\r\n");
  79. server_parse($socket, '334');
  80.  
  81. fwrite($socket, base64_encode($o_smtp_pass)."\r\n");
  82. server_parse($socket, '235');
  83.  }
  84.  else
  85.  {
  86. fwrite($socket, 'HELO '.$smtp_host."\r\n");
  87. server_parse($socket, '250');
  88.  }
  89.  
  90.  fwrite($socket, 'MAIL FROM: <'.$o_webmaster_email.'>'."\r\n");
  91.  server_parse($socket, '250');
  92.  
  93.  $to_header = 'To: ';
  94.  
  95.  @reset($recipients);
  96.  while (list(, $email) = @each($recipients))
  97.  {
  98. fwrite($socket, 'RCPT TO: <'.$email.'>'."\r\n");
  99. server_parse($socket, '250');
  100.  
  101. $to_header .= '<'.$email.'>, ';
  102.  }
  103.  
  104.  fwrite($socket, 'DATA'."\r\n");
  105.  server_parse($socket, '354');
  106.  
  107.  fwrite($socket, 'Subject: '.$subject."\r\n".$to_header."\r\n".$headers."\r\n\r\n".$message."\r\n");
  108.  
  109.  fwrite($socket, '.'."\r\n");
  110.  server_parse($socket, '250');
  111.  
  112.  fwrite($socket, 'QUIT'."\r\n");
  113.  fclose($socket);
  114.  
  115.  return true;
  116. }
  117.  
  118. // "-f L_O_G_I_N@tlen.pl" to adres, gdzie przychodza zwroty
  119. if(smtp_mail($to, $subject, $message, $headers, "-f L_O_G_I_N@tlen.pl")==true)
  120. echo"<br>wiadomość wysłano";
  121. ?>
pstawik
No niestey nie działa. Powpisywałem wszystkie moje dane i klops. Na stronce wyświetla mi się nie przeworzony kof php ;|
dr_bonzo
Tak trudno zmienic "<?" na "<?php" ?
pstawik
No w sumie nie trudno. Cały skrypt działa, tylko ja miałem pytanie odnośnie konfiguracji jakiegoś serwera SMTP u siebie na komputerzei. Wszędzie piszą, że wystarczy zainstalować np Free SMTP Server albo QK SMTP Server zmienić wpis w php.ini i powinno działać. A wg mnie jest to oszukiwanie ludzi, gdyż przekopałem całe forum i nigdzie nie znalzłęm konkretnej odpowiedzi jak postawić na localhost serwer SMTP, z którego mogłaby korzystać funkcja mail. Ldzie instalują jakieś tam Krasnale i im chodzi, ale jak ktoś chce mieć większą kontrolę to już nie jest tak różowo. Na dłuższą metę prawdopodobnie ten skrytp nie spełni moich oczekiwań, więc jeszcze raz proszę DOŚWIADCZONYCH o pomoc.
progzmaster
Witam

Ja również mam problem jaki opisałeś. Jestem początkujacy i używam krasnalServ
a mimo to nie moge wysłać maila funkcją mail().
Funkcja nie jest wyłączona a wszystko jest dobrze ustawione, host, port itp...
Mam nadzieję że ktoś odpowie winksmiley.jpg

pozdro
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.