Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] phpMailer, localhost
Forum PHP.pl > Forum > Przedszkole
iniz
Witam

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 "; ?>


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
Danone
Tutaj masz przykład jak jest poprawnie, spróbuj się dostosować do tego i powinno pomóc smile.gif

http://phpmailer.codeworxtech.com/examples.html


poza tym twój maila chyba nie nazywa się login@wp.pl?? smile.gif
iniz
heh.. nie, specjalnie zostal zmieniony. Tego pierwszego kodu nie probowalem bo jest z uzyciem MySQL, a te 2 pozostale to rozbicie na 2 pliki kodu podobnego co podalem tylko bez uwierzytelniania, ale tez nie pomaga;/
Co Ciekawe, wrzucilem na host.sk plik z kodem z tutoriala(oczywiscie po zmianie w host , addAddress etc.) i tez wyskakuje Warning:
Warning: fsockopen() has been disabled for security reasons in /class.smtp.php on line 122
Language string failed to load: connect_host

hmm...

Czy komus to w ogole dziala?
Danone
Kiedyś korzystałem z tej klasy i wszystko mi pięknie chodziło, wzorowałem się na tym przykładzie ze strony projektu, którą Ci podałem smile.gif poszukam i wrzucę smile.gif
iniz
Oki juz mam, wywalilem linijki:
Kod
require("phpmailer/class.phpmailer.php");
$mail->PluginDir = "phpmailer/";


zamiast nich dolaczylem osobno pliki (wszystko w jednym katalogu) i dziala
Kod
require("class.phpmailer.php");
require("class.smtp.php");


Tylko jak probuje wykonać ten sam skrypt z localhosta to za kazdym razem wywala blad polaczenia z SMTP ?
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.