Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]phpmailer - maile docierają bez załącznika
Forum PHP.pl > Forum > Przedszkole
followc
Witam,
czy jest ktoś w stanie mi powiedzieć czemu phpmailer nie wysyła załączników? niby wszystko tak jak w przepisie, a dociera mail z samym tekstem bez załącznika...

  1.  
  2. require '../phpmailer/PHPMailerAutoload.php';
  3. require '../phpmailer/class.phpmailer.php';
  4.  
  5. $mail = new PHPMailer;
  6.  
  7. // Enable verbose debug output
  8.  
  9. $mail->isSMTP(); // Set mailer to use SMTP
  10. // Specify main and backup SMTP servers
  11. $mail->Host = 'serwerxxx.home.pl'; // Specify main and backup SMTP servers
  12. $mail->SMTPAuth = true; // Enable SMTP authentication
  13. // SMTP username
  14. $mail->Username = 'my@mail'; // SMTP username // SMTP password
  15. $mail->Password = 'mypass'; // SMTP password
  16. $mail->SMTPSecure = 'ssl'; // Enable TLS encryption, `ssl` also accepted
  17. $mail->Port = 465; // TCP port to connect to
  18.  
  19. $mail->From = 'my@mail.com';
  20. $mail->FromName = 'Mailer';
  21. // Add a recipient
  22. $mail->addAddress('mail@mail'); // Name is optional
  23.  
  24. // Add attachments
  25. $mail->AddAttachment("c20.jpg", "c20.jpg"); // Optional name // Set email format to HTML
  26.  
  27. //$mail->AddAttachment("c20.jpg");
  28. //$mail->AddAttachment("../img/c20.jpg");
  29. //$mail->AddAttachment($_SERVER['../img/c20.jpg']));
  30.  
  31. $mail->Subject = 'Here is the ółsubject'.$imie.' '.$nazwisko;
  32. $mail->Body = 'das'.$format_wydruku1.' '.$ile1.'This is the HTML messagóóęęe body <b>in SŁŁŚŚśśśłłóóbold!</b>';
  33. $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
  34.  
  35. if(!$mail->send()) {
  36. echo 'Message could not be sent.';
  37. echo 'Mailer Error: ' . $mail->ErrorInfo;
  38. } else {
  39. echo 'Message has been sent';
  40. }
  41.  
rad11
Sciezka napewno sie zgadza? Wlacz debugowanie $mail->SMTPDebug = 1;
followc
2015-06-23 17:38:05 Brak dostępu do pliku: c20.jpg


ale... ale ja próbowałem już wszelkich ścieżek. Już nawet pokopiowałem ten plik do wszystkich folderów, żeby w koncu załączyło... nic nie rozumiem
rad11
To podaj pelna sciezke do pliku a nie tylko nazwe podajesz(wklej nawet dla testu na sztywno).
Turson
chmod/chown questionmark.gif
followc
//$mail->AddAttachment("c20.jpg");
//$mail->AddAttachment("../img/c20.jpg");
//$mail->AddAttachment($_SERVER['../img/c20.jpg']));

Próbowałem bardzo różnych ścieżek... między innymi takich jak te zakomentowane. Jeżeli wyskakuje ten błąd tzn. że ścieżka jest źle podana? Naprawdę nie wiem w jaki sposób mam ją rozszerzyć

Korzystając z mail() nie było problemu z dostępem
rad11
  1. $_SERVER['../img/c20.jpg']


To akurat nie mialo prawa Ci dzialac. Sprobuj jeszcze zmienic prawa dostepu tak jak Turson zaproponowal. Napisz strukture folderów do tego pliku.
followc
Plik umieściłem tak (w 5 różnych folderach), żeby scieżka na któryś na pewno wskazywała... jeżeli chodzi o chmod/chown to muszę dopiero nauczyć się z tego korzystać bo nigdy tego nie robiłem. Zastanawia mnie jednak fakt, że funkcja mail() nie miała z tym problemu.


a $_SERVER['../img/c20.jpg'] było jedną z rozpaczliwych prób wink.gif
rad11
A czy probowales podac sciezke typu C:/xampp/htdocs/projekt/img/img.jpg ?
followc
Tak, mam to wrzucone na serwer i próbowałem ścieżki http://www.adres.com/img/c20.jpg który po wprowadzeniu do przeglądarki pokazuje c20.jpg bez oporu

Nadal nic. Jakaś katastrofa. A przerzuciłem się na phpmailer bo miało być łatwo, lekko i z większą kontroląwink.gif
rad11
Ale Ja nie mowie o sciezce bezwzglednej a nie o adresie url do pliku.
followc
czyli że coś takiego?

serwerxxx:haslo@serwerxxx.home.pl/public_html/strony_www/www.com/img/c20.jpg
rad11
nie haha.gif sprobuj /public_html/strony_www/www.com/img/c20.jpg
followc
efekt ten sam...
rad11
To musza byc prawa dostepu.
followc
Czyli nie ma znaczenia, że mail() dobiera się do tych plików bez probleu? To nie za dobrze dla mnie...
rad11
Ja podajac u siebie sciezke:

  1. $mail->AddAttachment('C:\xampp\htdocs\phpmailer\examples\images\phpmailer.png');


Otrzymuje w zalaczniku zdjecie wiec musisz dojsc jaka sciezke uzyc.
Turson
W katalogu, w którym masz zdjęcie, zrób sobie plik php z treścią
  1. <?php
  2. echo __DIR__;

tym sposobem masz ścieżkę bezwzględną. Teraz tylko dodać na końcu nazwę obrazka
followc
echo __DIR__ wyswietla __DIR__,
zmienilem więc na dirname(__FILE__) i to co dostaje to smutne /img więc wciąż jestem w tym samym punkcie
Turson
Pokaż tą strukturę katalogów
followc
Czyli, że to?tongue.gif

public_html/strony_www/adres.pl/img/c20.jpg
Turson
Okej, czyli tam masz plik. A ścieżka do pliku, który wysyła e-mail przez PHPMailera?
followc
public_html/strony_www/adres.pl/phpmailer/


w tym katalogu też umieściłem plik, który chcę wysłac i próbowałem na niego nakierować...
Turson
Ale katalog phpmailer/ to chyba zawiera bibliotekę co nie?
Przenieś zdjęcie do katalogu gdzie masz plik z kodem z posta #1
followc
No tak, ta biblioteka jest własnie w katalogu /phpmailer.... tak mi się przynajmniej zdaje:p
public_html/strony_www/adres.pl/phpmailer/PHPMailerAutoload.php
To zdjęcie jest już chyba w każdym katalogu na moim serwerze...
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.