Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] PHPmailer - jak korzystac
-grzegorz00202-
post 30.06.2011, 14:51:06
Post #1





Goście







witam

Chciałbym wysyłać maile z strony, jednak nie jestem zadowolony z funkcji mail(), poszprzerałem po google i odnalazłem klase phpmailer.

I teraz z tego co widze większość poradników (a wlasciwie wszystkie) mowia tylko o tym zeby korzystać z skrzynki zewnętrznej, np. wp.pl z której będą wysyłane maile.

Czy można wysyłać przez phpmailer przez serwer? tak jak działa funkcja mail()? czy też bedzie gubić maile i lepiej skorzystac z zewnetrznej skrzynki?
Jesli mozna przez serwer, to jak skonfigurowac wtedy phpmailer?

Pozdrawiam
GG
Go to the top of the page
+Quote Post
erix
post 30.06.2011, 15:29:57
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Czy można wysyłać przez phpmailer przez serwer?

Tak.

Cytat
czy też bedzie gubić maile i lepiej skorzystac z zewnetrznej skrzynki?

To zależy od polityki serwera - najczęściej chodzi o przekraczanie limitów...

Cytat
Jesli mozna przez serwer, to jak skonfigurowac wtedy phpmailer?

  1. IsMail()

?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Sephirus
post 30.06.2011, 20:32:28
Post #3





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


phpMailer to całkiem dobre narzędzie do obsługi mail(), sendMail() (o ile serwer wspomaga) czy SMTP.

Poczytaj o różnych trybach najpierw.

Ja osobiście proponuje użycie skrzynki zewnętrznej czyli PHPMAILER poprzez SMTP, najlepiej by było gdybyś miał takową na tym samym serwerze. Jeśli to jakiś darmowy hosting lub taki który tego nie umożliwa to musisz pokombinować z jakimś darmowym wp, onet, interia - spoko się nadają - nawet Gmail'a da się w tym użyć.

Jak skonfigurować - bardzo prosto wink.gif

Potrzebujesz w zasadzie tych samych danych jak przy konfigurowaniu programu pocztowego (outlook, thunderbird) czyli:

- Adres hosta do smtp
- port
- używanie szyfrowania SSL (porty bez ssl i z ssl są różne więc to istotne)
- login do skrzynki
- hasło do skrzynki

Jak widać każdy serwer poczty da Ci te dane. Co dalej? Proste - według specyfikacji PHPMailera ustawiasz odpowiednio wszystkie te dane i wysyłasz maila podając odbiorcę, temat, treść itp...

Ogólnie polecam tą klasę - pozwala nawet na dorzucanie do maili zencodowanych (base64encode) obrazków i umieszczanie ich pod CONTENT-ID (cid:nazwa)

HTH! wink.gif


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
-mamerek-
post 30.06.2011, 23:48:54
Post #4





Goście







Kurde nie moge sobie poradzić...

Robie coś takiego:

  1. require("phpmailer.inc.php");
  2.  
  3. $mail = new phpmailer;
  4.  
  5. $mail->IsSMTP(); // set mailer to use SMTP
  6. $mail->From = "LOGIN@wp.pl";
  7. $mail->FromName = "Mailer";
  8. $mail->Username = "LOGIN";
  9. $mail->Password = "**********";
  10. $mail->Host = "smtp.wp.pl"; // specify main and backup server
  11. $mail->SMTPAuth = true;
  12. $mail->AddAddress("josh@site.com", "Josh Adams");
  13.  
  14.  
  15. $mail->Subject = "Here is the subject";
  16. $mail->Body = "This is the message body";
  17. $mail->Send(); // send message





dostaje blad:


  1. Notice: Undefined variable: from in D:\www\mailer\phpmailer.inc.php on line 259
  2.  
  3. Notice: Undefined variable: Encoding in D:\www\mailer\phpmailer.inc.php on line 271
  4.  
  5. Fatal error: Cannot access empty property in D:\www\mailer\phpmailer.inc.php on line 271



co robie zle?
Go to the top of the page
+Quote Post
Sephirus
post 1.07.2011, 07:15:48
Post #5





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


Ok z tego co widzę to tak:

phpmailer.inc.php wskazuje że używasz staaarej wersji, która była "taka sobie" i ta składnia do niej nie pasuje wink.gif

Spotkałem się raz ze starą wersją PHPMailera składającą się z jednego tylko pliku... tą starą wersję można wyrzućić do śmietnika... :/

Sprawdź czy na pewno masz najnowszą - tu masz link w razie czego: Nie mogłem znaleźć to wrzuciłem wink.gif

(Aby to działało - ustaw w linii 664 - dokładną ścieżkę dostępu do pliku class.stmp.php)

Tu daję przykładowy kod wyrwany gdzieś z mojego frameworka:

  1. self::$pm = new phpmailer;
  2. self::$pm->CharSet = 'UTF-8';
  3. self::$pm->SMTPAuth = MAIL_AUTH; // to daje true/false
  4. self::$pm->Username = MAIL_USERNAME;
  5. self::$pm->Password = MAIL_PASSWORD;
  6. self::$pm->Host = MAIL_HOST;
  7. self::$pm->Port = MAIL_SSL ? MAIL_PORT_SSL : MAIL_PORT;
  8. self::$pm->IsSMTP();
  9. ...
  10. ...
  11. ...
  12. self::$pm->AddAddress($to);
  13. self::$pm->From = MAIL_FROM;
  14. self::$pm->FromName = MAIL_FROM_NAME;
  15. ...
  16. ...
  17. ...
  18. self::$pm->Subject = self::$subject;
  19. self::$pm->Body = self::$body;
  20. self::$pm->Send();


Ten post edytował Sephirus 1.07.2011, 07:18:14


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
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: 6.07.2025 - 07:13