Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] PHPmailer - jak korzystac
Forum PHP.pl > Forum > Przedszkole
grzegorz00202
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
erix
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()

?
Sephirus
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
mamerek
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?
Sephirus
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();
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.