Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inne]Problem z wysyłk± maila ze strony przez SMTP
Forum PHP.pl > Forum > Przedszkole
Greg23
Witam,

Przeniosłem serwis na nowy serwer i przestały dochodzić do użytkowników maile wysyłane ze strony za pomoc± smtp.
Zainstalowałem na nowym serwerze serwer smtp ale maile nadal nie dochodz±, takie dostaje błędy:

  1. Nie można wysać wiadomości e-mail, z powodu: "503 5.5.1 Error: authentication not enabled " Proszę skontaktować się z administratorem. Nie można wysać wiadomości e-mail, z powodu: "502 5.5.2 Error: command not recognized " Proszę skontaktować się z administratorem. Nie można wysać wiadomości e-mail, z powodu: "502 5.5.2 Error: command not recognized " Proszę skontaktować się z administratorem. Nie można wysać wiadomości e-mail, z powodu: "554 5.7.1 : Relay access denied " Proszę skontaktować się z administratorem. Nie można wysać wiadomości e-mail, z powodu: "554 5.5.1 Error: no valid recipients " Proszę skontaktować się z administratorem. Nie można wysać wiadomości e-mail, z powodu: "221 2.7.0 Error: I can break rules, too. Goodbye. " Proszę skontaktować się z administratorem.


Spróbowałem więc użyć serwera smtp z o2.pl i gmail ale tu także dostaje błędy, w wypadku o2 jest to:

  1. Nie można wysać wiadomości e-mail, z powodu: "554 5.7.1 Sender address rejected " Proszę skontaktować się z administratorem. Nie można wysać wiadomości e-mail, z powodu: "503 Error: need MAIL command " Proszę skontaktować się z administratorem. Nie można wysać wiadomości e-mail, z powodu: "503 Error: need RCPT TO command " Proszę skontaktować się z administratorem. Nie można wysać wiadomości e-mail, z powodu: "502 Error: command not implemented " Proszę skontaktować się z administratorem.


Może znacie jakie¶ serwery smtp, które nie będ± mi sypały błędami i s± łatwe w obsłudze ?
webdice
Ciężko będzie znaleĽć serwer SMTP który nie wymaga autoryzacji. Załóż sobie skrzynkę i skorzystaj z klasy która loguje się i wysyła wiadomo¶ci.
Greg23
A takie które wymagaj± autoryzacji nie będ± działały, dlaczego (przecież podaję login i hasło) questionmark.gif
webdice
Pokaż kod.
Greg23
  1. //********************************************************
  2. // wysyłka maila
  3. //********************************************************
  4. function wyslij_maila_smtp($do, $dane)
  5. {
  6. //return mail($do,$dane['temat'], $dane['tresc'],
  7. global $twoj_adres;
  8. return smtp_mail($do, $dane['temat'], $dane['tresc'],
  9. "From:".$twoj_adres."\r\n"
  10. ."Reply-To:".$twoj_adres."\r\n"
  11. ."MIME-Version: 1.0 \r\n"
  12. ."Content-Transfer-Encoding: 8bit\r\n"
  13. ."Content-type: text/html; charset=iso-8859-2\r\n", $o_webmaster_email_zwroty);
  14.  
  15. }
  16. function server_parse($socket, $expected_response)
  17. {
  18. while (substr($server_response, 3, 1) != ' ')
  19. {
  20. if (!($server_response = fgets($socket, 256)))
  21. error('Brak odpowiedzi ze strony serwera pocztowego. Proszę skontaktować się z administratorem.', __FILE__, __LINE__);
  22. }
  23.  
  24. if (!(substr($server_response, 0, 3) == $expected_response))
  25. print('Nie można wysać wiadomo¶ci e-mail, z powodu: "'.$server_response.'" Proszę skontaktować się z administratorem. ');//, __FILE__, __LINE__);
  26. }
  27.  
  28. function smtp_mail($to, $subject, $message, $headers)
  29. {
  30. global $o_smtp_host,$o_smtp_user,$o_smtp_pass,$o_webmaster_email,$i,$server_response;
  31.  
  32.  
  33.  
  34. //koniec z definiowaniem
  35.  
  36. $recipients = explode(',', $to);
  37.  
  38. // Are we using port 25 or a custom port?
  39. if (strpos($o_smtp_host, ':') !== false)
  40. list($o_smtp_host, $o_smtp_port) = explode(':', $o_smtp_host);
  41. else
  42. {
  43. $smtp_host = $o_smtp_host;
  44. $smtp_port = 25;
  45. }
  46.  
  47. if (!($socket = fsockopen($smtp_host, $smtp_port, $errno, $errstr, 15)))
  48. error('Nie można poł±czyć się z serwerem smtp "'.$o_smtp_host.'" ('.$errno.') ('.$errstr.')', __FILE__, __LINE__);
  49.  
  50. server_parse($socket, '220');
  51.  
  52. if ($o_smtp_user != '' && $o_smtp_pass != '')
  53. {
  54. fwrite($socket, 'EHLO '.$smtp_host."\r\n");
  55. server_parse($socket, '250');
  56.  
  57. fwrite($socket, 'AUTH LOGIN'."\r\n");
  58. server_parse($socket, '334');
  59.  
  60. fwrite($socket, base64_encode($o_smtp_user)."\r\n");
  61. server_parse($socket, '334');
  62.  
  63. fwrite($socket, base64_encode($o_smtp_pass)."\r\n");
  64. server_parse($socket, '235');
  65. }
  66. else
  67. {
  68. fwrite($socket, 'HELO '.$smtp_host."\r\n");
  69. server_parse($socket, '250');
  70. }
  71.  
  72. fwrite($socket, 'MAIL FROM: <'.$o_webmaster_email.'>'."\r\n");
  73. server_parse($socket, '250');
  74.  
  75. $to_header = 'To: ';
  76.  
  77. @reset($recipients);
  78. while (list(, $email) = @each($recipients))
  79. {
  80. fwrite($socket, 'RCPT TO: <'.$email.'>'."\r\n");
  81. server_parse($socket, '250');
  82.  
  83. $to_header .= '<'.$email.'>, ';
  84. }
  85.  
  86. fwrite($socket, 'DATA'."\r\n");
  87. server_parse($socket, '354');
  88.  
  89. fwrite($socket, 'Subject: '.$subject."\r\n".$to_header."\r\n".$headers."\r\n\r\n".$message."\r\n");
  90.  
  91. fwrite($socket, '.'."\r\n");
  92. server_parse($socket, '250');
  93.  
  94. fwrite($socket, 'QUIT'."\r\n");
  95. fclose($socket);
  96.  
  97. return true;
  98. }


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