Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]phpmailer działa z palca a w CRON NIE
Forum PHP.pl > Forum > Przedszkole
Krismen
Witam. Próbuję wysyłać maile phpmailerm + CRON. Skryp uruchamiany z palca działa bez problemu, maile wysyłają się poprawnie. Ale CRON nie ma ochoty wysyłać maili. CRONa mam na bank ustawionego dobrze, bo oprócz wysyłki maili na koniec skryptu dane są wstawiane do bazy i to działa poprawnie. Poniżej kod.



  1. <?php
  2. require('phpmailer/class.phpmailer.php');
  3.  
  4. $pytanie1="SELECT * .... ";
  5.  
  6. $rezultaty=mysqli_query($lacz,$pytanie1);
  7. $ile_zwyc=mysqli_num_rows($rezultaty);
  8.  
  9. $mail1=new PHPMailer();
  10. $mail1->PluginDir = "phpmailer/";
  11. $mail1->From = "admin@domena.pl";
  12. $mail1->FromName = "admin@domena.pl";
  13. $mail1->Host = "smtp.domena.pl";
  14. $mail1->Mailer = "smtp";
  15. $mail1->Username = "admin@domena.pl";
  16. $mail1->Password = "*******";
  17. $mail1->SMTPKeepAlive = true;
  18. $mail1->SMTPAuth = true;
  19. $mail1->Port = 587;
  20. $mail1->CharSet = "UTF-8";
  21. $mail1->IsHTML(true);
  22. $mail1->SetLanguage("pl","phpmailer/language/");
  23.  
  24.  
  25. if($ile_zwyc>0)
  26. {
  27. for($i=0;$i<$ile_zwyc;$i++)
  28. {
  29.  
  30. $wiersz=mysqli_fetch_assoc($rezultaty);
  31.  
  32. $id_aukcji_z=$wiersz['id_aukcji'];
  33. $id_kwoty_z=$wiersz['id_kwoty'];
  34. $id_zwyc_z=$wiersz['id_zwyc'];
  35. $id_wyst_z=$wiersz['id_wyst'];
  36. $tytul_z=$wiersz['tytul'];
  37. $kwota_z=$wiersz['kwota'];
  38. $email_z=$wiersz['email'];
  39. $data_zak_z=$wiersz['data_zak'];
  40.  
  41. $mail1->Subject = "Temat...";
  42. $mail1->Body="Treść...";
  43. $mail1->AddAddress("$email_z");
  44. $mail1->Send();
  45. $mail1->ClearAddresses();
  46.  
  47. }
  48.  
  49.  
  50. $mail1->SmtpClose();
  51.  
  52. }
  53.  
  54.  
  55. //wstawianie do bazy działa przez CRONA
  56. $pytanie2="INSERT INTO `wiadomosci`
  57. VALUES(0,1,$id_zwyc_z,'$temat1','$tresc1',0,0,0,0,now(),'$now$id_aukcji_z')";
  58.  
  59. $rezultaty1=mysqli_query($lacz,$pytanie2);
  60.  


Nie wiem dlaczego maile się nie wysyłają a dalsza część kodu wykonuje się bez problemu. Próbowałem zamienić kolejność tz. najpierw wstawienie do bazy a później wysyłka ale bez efektów. Ktoś pomoże?
Elber
Zobacz logi crona, oraz upewnij się że cron i 'z palca' są uruchamiane z tej samej ścieżki bezwzględnej, bo jeśli nie to pewno nie umie załadować klasy mailera z require wink.gif
Krismen
Faktycznie problem tkwił w ścieżce dostępu do klasy phpmailer. Trzeba podawać bezwzględną. Problem rozwiązany, dzięki!
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.