Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PHPMailer użyty wewnątrz klasy
Forum PHP.pl > Forum > PHP
user_php.pl
Witam wszystkich,
mam taki problem: Mam klasę weryfikującą dane z formularza i w tej klasie mam metodę, która ma wysłać emaila (używając phpmailer) potwierdzającego. Niestety z niewiadomego mi powodu ta metoda nie chce działać.

  1. require_once 'phpmailer/class.phpmailer.php';
  2.  
  3. class Veryfication extends PHPMailer {
  4.  
  5. function validForm() {
  6. if(sizeof($this->errors) > 0) {
  7. return $this->errors;
  8. } else {
  9. $this->sendEmail();
  10. return $this->tableofdata;
  11. }
  12. }
  13.  
  14. function sendEmail() {
  15. $mail = new PHPMailer();
  16. $mail->PluginDir = "phpmailer/";
  17. $mail->From = "emailweryfikacyjny@poczta.pl"; //adres naszego konta
  18. $mail->FromName = "weryfikacja konta";//nagłówek From
  19. $mail->Host = "smtp.poczta.pl";//adres serwera SMTP
  20. $mail->Mailer = "smtp";
  21. $mail->Username = "emailweryfikacyjny@poczta.pl";//nazwa użytkownika
  22. $mail->Password = "haslo";//nasze hasło do konta SMTP
  23. $mail->SMTPAuth = true;
  24. $mail->SMTPDebug = true;
  25. $mail->SetLanguage("en", "phpmailer/language/");
  26.  
  27. $mail->Subject = "Mail testowy";//temat maila
  28.  
  29. // w zmienną $text_body wpisujemy treść maila
  30. $text_body = "Cześć, chyba phpMailer działa \n\n";
  31. $text_body .= "Na zawsze Twój, \n";
  32. $text_body .= "PHPMailer";
  33.  
  34. $mail->Body = $text_body;
  35. // adresatów dodajemy poprzez metode 'AddAddress'
  36. $mail->AddAddress("kolega@gmail.com","Kolega");
  37.  
  38.  
  39. if($mail->Send()) {
  40. return true;
  41. }
  42.  
  43. // Clear all addresses and attachments
  44. $mail->ClearAddresses();
  45. $mail->ClearAttachments();
  46. }
  47. }


Dostaję takie błędy
  1. Warning: require_once(phpmailer/class.smtp.php): failed to open stream: No such file or directory in /home/user/webmaster/htdocs/projekt/php/phpmailer/class.phpmailer.php on line 702 Fatal error: require_once(): Failed opening required 'phpmailer/class.smtp.php' (include_path='.:/usr/share/php:/usr/share/pear') in /home/user//webmaster/htdocs/projekt/php/phpmailer/class.phpmailer.php on line 702


Pliki, które są wymienione wyżej są w tych katalogach.
melkorm
Jak poprawnie zadawać pytania.
user_php.pl
Chyba już sobie poradziłem. Może ktoś oceni, czy to jest na pewno bezpieczne.
W pliku class.phpmailer.php w linii 702 mamy:
  1. require_once $this->PluginDir . 'class.smtp.php';


ja usunąłem część z tego:

  1. require_once 'class.smtp.php';
nospor
zamiast modyfikowac klase (co jest niezalecane) wystarczylo wywalic ten kod, który sam dodales smile.gif
$mail->PluginDir = "phpmailer/";
Sam coś dodasz, pozmieniasz, a potem psujesz w kodzie klasy winksmiley.jpg
user_php.pl
No tak smile.gif nie zauważyłem, że ta zmienna jest u mnie smile.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.