Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [inne]Problem z wysyłką maila ze strony przez SMTP
Greg23
post 26.12.2012, 12:42:47
Post #1





Grupa: Zarejestrowani
Postów: 120
Pomógł: 0
Dołączył: 6.04.2012

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


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 ?

Ten post edytował Greg23 26.12.2012, 12:46:20


--------------------
Go to the top of the page
+Quote Post
webdice
post 26.12.2012, 12:46:24
Post #2


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




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.
Go to the top of the page
+Quote Post
Greg23
post 26.12.2012, 12:49:14
Post #3





Grupa: Zarejestrowani
Postów: 120
Pomógł: 0
Dołączył: 6.04.2012

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


A takie które wymagają autoryzacji nie będą działały, dlaczego (przecież podaję login i hasło) questionmark.gif

Ten post edytował Greg23 26.12.2012, 12:49:30


--------------------
Go to the top of the page
+Quote Post
webdice
post 26.12.2012, 12:52:26
Post #4


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Pokaż kod.
Go to the top of the page
+Quote Post
Greg23
post 27.12.2012, 11:40:16
Post #5





Grupa: Zarejestrowani
Postów: 120
Pomógł: 0
Dołączył: 6.04.2012

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


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


?

Ten post edytował Greg23 26.12.2012, 12:57:12


--------------------
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: 18.05.2025 - 09:43