Chcialem za pomocą klasy phpmailer wyslac maila, ale za każdym razem wyświetla mi się komunikat ze nie można uzyskać polączenia z serwerem SMTP (czy to logujac sie na o2.pl : Failed to connect to server: poczta.o2.pl:25, czy na gmail, czy na wp tez) Kod wziąłem z tego forum, niby jest poprawny:
Kod
<?php
require("C:/phpmailer/class.phpmailer.php");
$mail = new PHPMailer();
$mail->PluginDir = "C:/phpmailer/";
//$mail->IsSMTP(); // telling the class to use SMTP
$mail->FromName = "To Jest wiadomosc wyslana za pomoca php mailer";//nagłówek From
$mail->From = "login@wp.pl"; //adres naszego konta
$mail->Host = "smtp.wp.pl";//adres serwera SMTP
$mail->Username = "login";//nazwa użytkownika
$mail->Password = "*****";//nasze hasło do konta SMTP
$mail->Mailer = "smtp";
$mail->SMTPAuth = true;
$mail->SetLanguage("pl", "C:/phpmailer/language/");
$mail->Subject = "Mail testowy";//temat maila
// w zmienną $text_body wpisujemy treść maila
$text_body = "Cześć, chyba phpMailer działa \n\n";
$text_body .= "Na zawsze Twój, \n";
$text_body .= "PHPMailer";
$mail->Body = $text_body;
// adresatów dodajemy poprzez metode 'AddAddress'
$mail->AddAddress("login@o2.pl","log");
$mail->AddAddress("login@gmail.com","log1");
$mail->AddAddress("login@wp.pl","log2");
if(!$mail->Send())
echo "There has been a mail error ";
echo $mail->ErrorInfo.";
// Clear all addresses and attachments
$mail->ClearAddresses();
$mail->ClearAttachments();
echo "mail sent "; ?>
require("C:/phpmailer/class.phpmailer.php");
$mail = new PHPMailer();
$mail->PluginDir = "C:/phpmailer/";
//$mail->IsSMTP(); // telling the class to use SMTP
$mail->FromName = "To Jest wiadomosc wyslana za pomoca php mailer";//nagłówek From
$mail->From = "login@wp.pl"; //adres naszego konta
$mail->Host = "smtp.wp.pl";//adres serwera SMTP
$mail->Username = "login";//nazwa użytkownika
$mail->Password = "*****";//nasze hasło do konta SMTP
$mail->Mailer = "smtp";
$mail->SMTPAuth = true;
$mail->SetLanguage("pl", "C:/phpmailer/language/");
$mail->Subject = "Mail testowy";//temat maila
// w zmienną $text_body wpisujemy treść maila
$text_body = "Cześć, chyba phpMailer działa \n\n";
$text_body .= "Na zawsze Twój, \n";
$text_body .= "PHPMailer";
$mail->Body = $text_body;
// adresatów dodajemy poprzez metode 'AddAddress'
$mail->AddAddress("login@o2.pl","log");
$mail->AddAddress("login@gmail.com","log1");
$mail->AddAddress("login@wp.pl","log2");
if(!$mail->Send())
echo "There has been a mail error ";
echo $mail->ErrorInfo.";
// Clear all addresses and attachments
$mail->ClearAddresses();
$mail->ClearAttachments();
echo "mail sent "; ?>
Wiem ze na gmaila trzeba się łączyć przez ssl://smtp.gmail.com:465, tez tak probowalem ale nic. Dla o2.pl: podawalem SMTP = poczta.o2.pl, dla wp.pl: SMTP = smtp.wp.pl
Probowalem to wykonać za pomoca serwera IIS ale sie nie powiodlo, to zmienilem na Apache, i tez lipa. Później wrzucilem kod na serwer yoyo.pl z plikami do phpmailera i w ogole pojawia się błąd skladni ;/:
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /var/www/sites/yoyo.pl/z/a/zason/class.phpmailer.php on line 44
Stanalem w martwym punkcie i nie wiem co dalej;/
Dodam, ze wczesniej tez probowalem z funkcja mail(), która na serwerze yoyo.pl i goo.pl chulała, ale jak słałem z localhosta to wszystko zatrzymywalo sie w folderze C:\Inetpub\mailroot\Queue, korzystalem przy tym z IIS(SMTP) (ustawione w wlasciowasciach: Dostep->przekazuj->Tylko wymienione ponizej: 127.0.0.1, mojeIP) i MailEnable.
Jak mozna takim sposobem wyslac poczte z localhosta na zewnetrzny serwer?
Php.ini:
[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25
; For Win32 only.
sendmail_from = serwer@localhost
PHP 5.2.5
Apache 2.2.8
Przeszukalem rozne fora i google ale wciaz nie wiem co z tym. Bede wdzieczny za kazda odpowiedz. Pozdro