Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PEAR zamiast funkcji mail()
Forum PHP.pl > Forum > PHP
criss78
Witam!
Na serwerze gdzie mam wykupiony hosting funkcja mail() zastąpiona jest funkcją z biblioteki PEAR. W dokumentacji firma poleca użyć poniższego kodu:

  1. <?php
  2. require_once 'Mail.php';
  3.  
  4. $params['host'] = 'smtp.yourhost.pl';
  5.  
  6. $params['port'] = 25;
  7.  
  8. $params['auth'] = true;
  9.  
  10. $params['username'] = 'nazwauzytkownika';
  11.  
  12. $params['password'] = 'haslo';
  13.  
  14.  
  15. # naglówki
  16.  
  17. $headers['Subject'] = 'temat wiadomosci';
  18.  
  19. $headers['From'] = 'adres.nadawca@nazwa.TWOJEJ.domeny';
  20.  
  21. $headers['X-Abuse-To'] = 'abuse@nazwa.twojej.domeny';
  22.  
  23. $body = 'tresc wiadomosci';
  24.  
  25. # do jednego adresata
  26.  
  27. $recipients = 'your@mail.pl';
  28.  
  29. # do wielu adresatow
  30.  
  31. #$recipients = array('odbiorca1@mail', 'odbiorca2@mail');
  32.  
  33.  
  34.  
  35. $mail = Mail::factory('smtp', $params);
  36.  
  37.  
  38.  
  39. if (PEAR::isError($mail)) {
  40.  
  41. print $mail->getMessage();
  42.  
  43. } 
  44. else {
  45.  
  46. $error = $mail->send($recipients, $headers, $body);
  47.  
  48.  if (PEAR::isError($error)) {
  49.  
  50. print $error->getMessage();
  51.  
  52.  } 
  53.  else {
  54.  
  55. print 'KOMUNIKAT: e-mail zostal wyslany poprawnie!';
  56.  
  57. }
  58.  
  59. }
  60. ?>

proszę uzywać bbcode
poprawiam
revyag

Chciałbym żeby treść nagłówków i wiadomości była pobierana z formularza HTML. Jak to zrobić?
Z góry dzięki snitch.gif
kwiateusz
powstawiać w odpowiednim miejscu $_POST['cos']; ?
criss78
Dzięki za pomoc. Zrobiłem tak:
  1. <?php
  2. # zrywamy gruszke
  3. require_once 'Mail.php';
  4.  
  5. # twój serwer smtp
  6. $params['host'] = 'smtp.piotrszambelan.pl';
  7.  
  8. # dodatkowe parametry polaczenia (opcjonalne):
  9. # $params['port'] = 25;
  10. # jesli serwer wymaga autentykacji:
  11. # $params['auth'] = false;
  12. $params['username'] = 'info@piotrszambelan.pl';
  13. $params['password'] = 'certyfikat';
  14.  
  15. # wszelkie naglówki...
  16. $headers['name'] = ($_POST['name']);
  17. $headers['subject'] = ($_POST['subject']);
  18. $headers['e-mail'] = ($_POST['e-mail']);
  19.  
  20. $message = ($_POST['message']);
  21.  
  22. # jesli adresat jest jeden wystarczy 
  23. $recipients = 'info@piotrszambelan.pl';
  24. # $recipients = array('mieciu@wp.pl', 'ziutek@onet.pl');
  25.  
  26. $mail = Mail::factory('smtp', $params);
  27.  
  28. if (PEAR::isError($mail)) {
  29. print $mail->getMessage();
  30. } else {
  31. # sio w Internet!
  32. $error = $mail->send($recipients, $headers, $message);
  33. if (PEAR::isError($error)) {
  34. print $error->getMessage();
  35. } else {
  36. print 'mail zostal wyslany.';
  37. }
  38. }
  39. ?>

proszę używać bbcode
poprawiam
revyag

Jednak dalej nie działa. sad.gif
Cienki1980
A tablica $_POST na pewno jest wypełniona poprawnie ? Zmienne mają te wartości co powinny mieć questionmark.gif
I proszę zacznij w końcu używać BBCode.
envp
a może na google.pl sprawdzisz jak wysyłać mail'e przez formularz i zameinisz sobie analogicznie?

Ps. chyba do działu przedszkole z tym topikiem.
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.