-Mako-
3.08.2011, 07:25:45
Witaj z forum korzystam pierwszy raz i mam problem z phpmailer. Mianowicie wiadomosc jest wysyłana z mojej strony ale nie chce powrocic na stronę główną.Dodałem header. Wcześniej wszystko działało a teraz pokazuje się tylko zawartość kodu php.
Prosze o pomoc.
mortus
3.08.2011, 07:46:32
Wypadałoby pokazać odpowiedni fragment kodu, który powoduje problem. Choć jeśli kod php jest widoczny w przeglądarce to może to oznaczać, że nie masz uruchomionego serwera (apache, IIS) z obsługą PHP.
EDIT
Wcześniej nie doczytałem tytułu... Skoro maila udaje się wysłać, to problemem musi tkwić w czymś innym. Pokaż kod.
buliq
3.08.2011, 10:56:57
Sprawdź znaczniki <?php i ?> pewnie któryś nie jest otwarty albo jest źle napisany
<?php
require("phpmailer/class.phpmailer.php");
$mail = new PHPMailer();
$mail->PluginDir = "phpmailer/";
$mail->From = "sdad"; //adres naszego konta
$mail->FromName = "Marcin"; //naglówek From
$mail->Host = "p"; //adres serwera SMTP
$mail->Mailer = "smtp";
$mail->Username = "apollo20@o2.pl"; //nazwa uzytkownika
$mail->Password = ""; //nasze haslo do konta SMTP
$mail->SMTPAuth = true;
$mail->SetLanguage("pl", "phpmailer/language/");
$mail->Subject = "Formularz kontaktowy "; //temat maila
// w zmienn± $text_body wpisujemy tresc maila
$text_body = "Od: ".$_GET['subject']."\nWiadomosc: ".$_GET['detail']."\nNadawca: ".$_GET['name']."\nEmail:".$_GET['name'];
$mail->Body = $text_body;
// adresatów dodajemy poprzez metode 'AddAddress'
$mail->AddAddress("","Marcin");
if(!$mail->Send())
echo "Wyst±pil bl±d podczas wysylania wiadomosci.";
echo $mail->ErrorInfo."<br>";
// Clear all addresses and attachments
$mail->ClearAddresses();
$mail->ClearAttachments();
echo "Wiadomosc wyslana.";
?>
<?php
header( 'Location: index.php' );
?>
-Mako-
3.08.2011, 20:59:04
zauwazylem taka sytuacje, ze jesli wiadmosc dojdzie to sie sypie i pokazuje kod ale jesli tylko zmienie haslo smtp i wiadomosc nie dojdzie to przechodzi na strone glowna normalnie ?
buliq
3.08.2011, 21:09:22
I dalej pokazuje ci się kod php? Od której lini go wyświetla?
-Mako-
4.08.2011, 06:15:15
Pokazuje się coś takiego :
SMTP -> get_lines(): $data was "" SMTP -> get_lines(): $str is "220 mail.ugu.pl ESMTP " SMTP -> get_lines(): $data is "220 mail.ugu.pl ESMTP " SMTP -> FROM SERVER: 220 mail.ugu.pl ESMTP SMTP -> get_lines(): $data was "" SMTP -> get_lines(): $str is "250-mail.ugu.pl " SMTP -> get_lines(): $data is "250-mail.ugu.pl " SMTP -> get_lines(): $data was "250-mail.ugu.pl " SMTP -> get_lines(): $str is "250-PIPELINING " SMTP -> get_lines(): $data is "250-mail.ugu.pl 250-PIPELINING " SMTP -> get_lines(): $data was "250-mail.ugu.pl 250-PIPELINING " SMTP -> get_lines(): $str is "250-SIZE 100000000 " SMTP -> get_lines(): $data is "250-mail.ugu.pl 250-PIPELINING 250-SIZE 100000000 " SMTP -> get_lines(): $data was "250-mail.ugu.pl 250-PIPELINING 250-SIZE 100000000 " SMTP -> get_lines(): $str is "250-VRFY " SMTP -> get_lines(): $data is "250-mail.ugu.pl 250-PIPELINING 250-SIZE 100000000 250-VRFY " SMTP -> get_lines(): $data was "250-mail.ugu.pl 250-PIPELINING 250-SIZE 100000000 250-VRFY " SMTP -> get_lines(): $str is "250-ETRN " SMTP -> get_lines(): $data is "250-mail.ugu.pl 250-PIPELINING 250-SIZE 100000000 250-VRFY 250-ETRN " SMTP -> get_lines(): $data was "250-mail.ugu.pl 250-PIPELINING 250-SIZE 100000000 250-VRFY 250-ETRN " SMTP -> get_lines(): $str is "250-STARTTLS " SMTP -> get_lines(): $data is "250-mail.ugu.pl 250-PIPELINING 250-SIZE 100000000 250-VRFY 250-ETRN 250-STARTTLS " SMTP -> get_lines(): $data was "250-mail.ugu.pl 250-PIPELINING 250-SIZE 100000000 250-VRFY 250-ETRN 250-STARTTLS " SMTP -> get_lines(): $str is "250-AUTH PLAIN LOGIN " SMTP -> get_lines(): $data is "250-mail.ugu.pl 250-PIPELINING 250-SIZE 100000000 250-VRFY 250-ETRN 250-STARTTLS 250-AUTH PLAIN LOGIN " SMTP -> get_lines(): $data was "250-mail.ugu.pl 250-PIPELINING 250-SIZE 100000000 250-VRFY 250-ETRN 250-STARTTLS 250-AUTH PLAIN LOGIN " SMTP -> get_lines(): $str is "250-ENHANCEDSTATUSCODES " SMTP -> get_lines(): $data is "250-mail.ugu.pl 250-PIPELINING 250-SIZE 100000000 250-VRFY 250-ETRN 250-STARTTLS 250-AUTH PLAIN LOGIN 250-ENHANCEDSTATUSCODES " SMTP -> get_lines(): $data was "250-mail.ugu.pl 250-PIPELINING 250-SIZE 100000000 250-VRFY 250-ETRN 250-STARTTLS 250-AUTH PLAIN LOGIN 250-ENHANCEDSTATUSCODES " SMTP -> get_lines(): $str is "250-8BITMIME " SMTP -> get_lines(): $data is "250-mail.ugu.pl 250-PIPELINING 250-SIZE 100000000 250-VRFY 250-ETRN 250-STARTTLS 250-AUTH PLAIN LOGIN 250-ENHANCEDSTATUSCODES 250-8BITMIME " SMTP -> get_lines(): $data was "250-mail.ugu.pl 250-PIPELINING 250-SIZE 100000000 250-VRFY 250-ETRN 250-STARTTLS 250-AUTH PLAIN LOGIN 250-ENHANCEDSTATUSCODES 250-8BITMIME " SMTP -> get_lines(): $str is "250 DSN " SMTP -> get_lines(): $data is "250-mail.ugu.pl 250-PIPELINING 250-SIZE 100000000 250-VRFY 250-ETRN 250-STARTTLS 250-AUTH PLAIN LOGIN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN " SMTP -> FROM SERVER: 250-mail.ugu.pl 250-PIPELINING 250-SIZE 100000000 250-VRFY 250-ETRN 250-STARTTLS 250-AUTH PLAIN LOGIN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN SMTP -> get_lines(): $data was "" SMTP -> get_lines(): $str is "334 VXNlcm5hbWU6 " SMTP -> get_lines(): $data is "334 VXNlcm5hbWU6 " SMTP -> get_lines(): $data was "" SMTP -> get_lines(): $str is "334 UGFzc3dvcmQ6 " SMTP -> get_lines(): $data is "334 UGFzc3dvcmQ6 " SMTP -> get_lines(): $data was "" SMTP -> get_lines(): $str is "235 2.7.0 Authentication successful " SMTP -> get_lines(): $data is "235 2.7.0 Authentication successful " SMTP -> get_lines(): $data was "" SMTP -> get_lines(): $str is "250 2.1.0 Ok " SMTP -> get_lines(): $data is "250 2.1.0 Ok " SMTP -> FROM SERVER: 250 2.1.0 Ok SMTP -> get_lines(): $data was "" SMTP -> get_lines(): $str is "250 2.1.5 Ok " SMTP -> get_lines(): $data is "250 2.1.5 Ok " SMTP -> FROM SERVER: 250 2.1.5 Ok SMTP -> get_lines(): $data was "" SMTP -> get_lines(): $str is "354 End data with . " SMTP -> get_lines(): $data is "354 End data with . " SMTP -> FROM SERVER: 354 End data with . SMTP -> get_lines(): $data was "" SMTP -> get_lines(): $str is "250 2.0.0 Ok: queued as 40A55737A9 " SMTP -> get_lines(): $data is "250 2.0.0 Ok: queued as 40A55737A9 " SMTP -> FROM SERVER: 250 2.0.0 Ok: queued as 40A55737A9 SMTP -> get_lines(): $data was "" SMTP -> get_lines(): $str is "221 2.0.0 Bye " SMTP -> get_lines(): $data is "221 2.0.0 Bye " SMTP -> FROM SERVER: 221 2.0.0 Bye
Wiadomosc wyslana.
buliq
4.08.2011, 11:23:35
A szukałeś w google?
tutaj masz odpowiedzi

A jak dalej nie wiesz

przyjrzyj się swojemu kodowi. Chcesz autoryzacji smtp ale nie wprowadzasz hosta
Fifi209
4.08.2011, 11:29:35
A przypadkiem nikt nie zwrócił uwagi, że przed header nie wolno wysyłać ŻADNYCH TEKSTÓW I ZNACZNIKÓW do przeglądarki? ;] Najpierw nagłówki potem reszta.
Tak więc wywal te wszystkie echo, a przekierowanie ustaw na inną stronę, która po parametrze get czy tam z sesji odczyta ew. błąd wysyłania wiadomości e-mail.
-Mako-
4.08.2011, 21:15:18
Nie wiem, czy to moze byc spowodowane zmiana serwera na ktorym stronka byla trzymana.Wczesniej te same ustwienia phpmailer działały poprawnie z tego co pamietam. Dopiero teraz jak zmieniłem hosting z szu.pl na ugu.pl tak sie stało. Próbowałem wykasować echo i to tylko spowodowało powrót do danej strony bez wysłania meila. Troche sie scwaniłem i wykasowałem $mail->Mailer = "smtp"; Wiadomosci dochodza. Jak znajde wiecej czasu to posiedzę nad tym dłuzej. Zapewne w weekend..
buliq
4.08.2011, 21:26:09
Konfiguracja php była inna

Fifi gdyby to naprawdę stanowiło problem w tym wątku t sypał by taki błąd czy raczej coś z headers
Fifi209
4.08.2011, 22:38:23
buliq teoretycznie jesteś starszy stażem, jednak w praktyce ja częściej zaglądam na forum, od razu widać że wysyła coś przed header co jest niedozwolone i powinieneś o tym wiedzieć. Jest również o tym mowa w manualu i na forum pełno pod frazą np. headers already sent
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.