Pomoc - Szukaj - U¿ytkownicy - Kalendarz
Pe³na wersja: Nie dzialajacy skrypt
Forum PHP.pl > Forum > Przedszkole
micz84
Witam,

Mam problem ze skryptem wysylajacym maile za pomoca smtp. skrypt pochodzi ze strony http://www.tutorialized.com/tutorial/Sendi...sing-SMTP/12680

  1. <?php 
  2. //new function 
  3.  
  4. $to = "post@example.com"; 
  5. $nameto = "Who To"; 
  6. $from = "post@example.com"; 
  7. $namefrom = "Who From"; 
  8. $subject = "Hello World Again!";
  9.  
  10. $message = "World, Hello!" 
  11. authSendEmail($from, $namefrom, $to, $name
  12. to, $subject, $message); 
  13. ?> 
  14.  
  15. //Authenticate Send - 21st March 2005 
  16. //This will send an email using auth smtp and output a log array 
  17. //logArray - connection, 
  18.  
  19. function authSendEmail($from, $namefrom, $to, $nameto, $subject, $message) 
  20. $smtpServer = "mail.server.com"; 
  21. $port = "25"; 
  22. $timeout = "30"; 
  23. $username = "smtpusername"; 
  24. $password = "smtppassword"; 
  25. $localhost = "localhost"; 
  26. $newLine = "rn"; 
  27. /* * * * CONFIGURATION END * * * * */
  28.  
  29.  
  30. //Connect to the host on the specified port 
  31. $smtpConnect = fsockopen($smtpServer, $port, $errno, $errstr, $timeout); 
  32. $smtpResponse = fgets($smtpConnect, 515); 
  33. if(empty($smtpConnect)) 
  34.  
  35. $output = "Failed to connect: $smtpResponse"; 
  36. return $output; 
  37. else 
  38. $logArray['connection'] = "Connected: $smtpResponse"; 
  39.  
  40. //Request Auth Login 
  41. fputs($smtpConnect,"AUTH LOGIN" . $newLine); 
  42. $smtpResponse = fgets($smtpConnect, 515); 
  43. $logArray['authrequest'] = "$smtpResponse"; 
  44.  
  45.  
  46. //Send username 
  47. fputs($smtpConnect, base64_encode($username) . $newLine); 
  48. $smtpResponse = fgets($smtpConnect, 515); 
  49. $logArray['authusername'] = "$smtpResponse"; 
  50.  
  51. //Send password 
  52. fputs($smtpConnect, base64_encode($password) . $newLine); 
  53. $smtpResponse = fgets($smtpConnect, 515); 
  54. $logArray['authpassword'] = "$smtpResponse"; 
  55.  
  56.  
  57.  
  58. //Say Hello to SMTP 
  59. fputs($smtpConnect, "HELO $localhost" . $newLine); 
  60. $smtpResponse = fgets($smtpConnect, 515); 
  61. $logArray['heloresponse'] = "$smtpResponse"; 
  62.  
  63. //Email From 
  64. fputs($smtpConnect, "MAIL FROM: $from" . $newLine); 
  65. $smtpResponse = fgets($smtpConnect, 515); 
  66. $logArray['mailfromresponse'] = "$smtpResponse"; 
  67.  
  68. //Email To 
  69. fputs($smtpConnect, "RCPT TO: $to" . $newLine); 
  70. $smtpResponse = fgets($smtpConnect, 515); 
  71. $logArray['mailtoresponse'] = "$smtpResponse"; 
  72.  
  73. //The Email 
  74. fputs($smtpConnect, "DATA" . $newLine); 
  75. $smtpResponse = fgets($smtpConnect, 515); 
  76. $logArray['data1response'] = "$smtpResponse"; 
  77.  
  78.  
  79. //Construct Headers 
  80. $headers = "MIME-Version: 1.0" . $newLine; 
  81. $headers .= "Content-type: text/html; charset=iso-8859-1" . $newLine; 
  82. $headers .= "To: $nameto <$to>" . $newLine; 
  83. $headers .= "From: $namefrom <$from>" . $newLine; 
  84.  
  85. fputs($smtpConnect, "To: $to From: $fromnSubject: $subjectn$headersnn$messagen.n"); 
  86. $smtpResponse = fgets($smtpConnect, 515); 
  87. $logArray['data2response'] = "$smtpResponse"; 
  88.  
  89. // Say Bye to SMTP 
  90. fputs($smtpConnect,"QUIT" . $newLine); 
  91. $smtpResponse = fgets($smtpConnect, 515); 
  92.  
  93. $logArray['quitresponse'] = "$smtpResponse"; 
  94. ?>


wyswietlilem zawartosc $logArray za pomoca var_dump i otrzymalem taki wynik:

array(10) { ["connection"]=> string(43) "Connected: 220 XXXXXXXXXX ESMTP " ["authrequest"]=> string(18) "334 VXNlcm5hbWU6 " ["authusername"]=> string(18) "334 UGFzc3dvcmQ6 " ["authpassword"]=> string(28) "235 2.0.0 OK Authenticated " ["heloresponse"]=> string(26) "250 XXXXXXXXX" ["mailfromresponse"]=> string(61) "250 2.1.0 XXXXXXXXXX... Sender syntax Ok " ["mailtoresponse"]=> string(45) "250 2.1.5 XXXXXXXXX... Recipient ok " ["data1response"]=> string(46) "354 Start mail input; end with . " ["data2response"]=> string(0) "" ["quitresponse"]=> string(0) "" }

XXXXXX zaslonilem adresy email i nazwy domen. czy moze mi powiedziec czy cos jest zle?? wydaje mi sie ze cos powinno byc w ["data2response"]=> string(0) "" ["quitresponse"]=> string(0) "" ,ale pierwszy raz robie skrypt wysylajacy maile i nie wiem jakie powinny byc odpowiedzi. Z gory dzieki za pomoc. Pozdrawiam.
jarrod
A tak poza tym to co siê dzieje? Napisa³e¶ tylko co daje jaka¶ zmienna ale nic na temat co siê dzieje.
micz84
skrypt wykonuje sie caly niby wszystko wporzadku, tak jakby mail zostal wyslany tylko te dwa elementy sa puste wydaje mi sie ze w data2response jest odpowiedz serwera na wyslane dane do maila a w quitresponse odpowiedz na wyjscie no i one sa puste wiec jakby cos bylo nie tak. Nie znam sie jeszcze na tyle na wysylaniu mail za pomoca smtp zeby samemu dojsc o co chodzi. napewno caly skryp sie wykonuje.
jarrod
Dla mnie wygl±da dobrze wiêc chyba nie bêdê ci w stanie pomóc..
Ja u¿ywam phpmailer. Tam jest bardzo dobry debug wiêc jak co¶ nie dzia³a to szybko o tym wiem. Porówna³em kody i wygl±da na to ¿e zapytania do serwera s± w porz±dku. Nie wiem dlaczego nie ma odpowiedzi. Powinna jaka¶ byæ. Ale tu nie jestem zbyt mocny wiêc nie pisze wiêcej g³upot winksmiley.jpg
micz84
probowalem phpmailer ale nie wiem w ktorym pliku konfiguruje sie nazwe konta haslo i inne parametry. gdy wykonywalem test we wszystkich 15 testach mialem niepowodzenie :/. Dlatego zaczalem szukac innych rozwiazan. teraz jeszcze raz przejzalem pliki phpmailer i znalazlem biggrin.gif nie wiem jak ja wtedy patrzylem tongue.gif
jarrod
smile.gif
Wszystko jest tam do¶æ dok³adnie opisane. Pozatym maj± w miarê dobr± dokumentacje na stronie projektu.
micz84
teraz mam problem z phpmailerem wpisalem wszystkie dane ale nie przechodzi zadnego testu
we wszystkich wypisuje:

Language string failed to load: recipients_failedmicz84@interia.pl, e-mail

a na koniec

You must provide at least one recipient email address.
--------
Language string failed to load: provide_address

Juz wszystko OK Polesender zle ustawilem tongue.gif
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.