Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Konfiguracja serwera SMTP na localhost
Forum PHP.pl > Forum > PHP
amii
Po wysyłaniu wiadomości z pliku PHPMailer dostaje info Message has been sent
ale wiadomość nie przesyła się na adres: admin@gmail.com
System Ubuntu 9.10 mam zainstalowane (opisy z synaptica)

PHP 5.2

php-mail (PEAR's Mail:: package defines the interface for implementing mailers
under the PEAR hierarchy, and provides supporting functions useful
in multiple mailer backends. Currently supported are native PHP mail()
function, sendmail and SMTP.)

php-net-smtp (Provides an implementation of the SMTP protocol using
PEAR's Net_Socket class.)

Plik z PHPMailer
  1. $mail = new PHPMailer();
  2.  
  3. $mail->IsSMTP(); // set mailer to use SMTP
  4.  
  5. $mail->Host = "localhost"; // specify main and backup server
  6.  
  7. $mail->SMTPAuth = false; // turn on SMTP authentication
  8. $mail->Port = 25;
  9.  
  10. //$mail->Username = "root"; // SMTP account username
  11. //$mail->Password = "root"; // SMTP account password
  12.  
  13. $mail->From = "from@example.com";
  14. $mail->FromName = "Mailer";
  15. $mail->AddAddress("admin@gmail.com", "Josh Adams");
  16.  
  17. $mail->WordWrap = 50; // set word wrap to 50 characters
  18. $mail->IsHTML(true); // set email format to HTML
  19.  
  20. $mail->Subject = "Here is the subject";
  21. $mail->Body = "This is the HTML message body <b>in bold!</b>";
  22. $mail->AltBody = "This is the body in plain text for non-HTML mail clients";
  23.  
  24. if(!$mail->Send())
  25.  
  26. {
  27.  
  28. echo "Message could not be sent. <p>";
  29.  
  30. echo "Mailer Error: " . $mail->ErrorInfo;
  31.  
  32.  
  33. }
  34.  
  35. echo "Message has been sent";


PHP.INI
Cytat
[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25

; For Win32 only.
;sendmail_from = me@example.com

; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
sendmail_path = /usr/sbin/sendmail -t -i
Zyx
Jak korzystasz z protokołu SMTP poprzez klasę napisaną w PHP, to php.ini nie ma tu nic do rzeczy. Gmail obsługuje wyłącznie szyfrowane transmisje, więc obstawiałbym, że nie masz zainstalowanego rozszerzenia OpenSSL, które jest wtedy wymagane, aby w ogóle połączyć się z nim. Drugą kwestią jest czy sam PHPMailer potrafi nawiązywać takie połączenia smile.gif.

Inna sprawa to pytanie czy naprawdę aż tak istotne jest dla Ciebie, jako osoby tworzącej aplikację, by komputer na którym pracujesz faktycznie wysłał tego maila? Napisałem kiedyś bardzo prosty programik emulujący sendmaila, który wszystko co dostanie, zapisuje jako pliki na dysku w określonym katalogu:

http://www.zyxist.com/pokaz.php/sentmail_p...na_dla_leniwych

do debugowania aplikacji jest wręcz idealny.
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.