[PHP] PHPMailer nie działa jak trzeba

0

Witajcie
Mam problem z wysyłaniem maili przy użyciu PHPMailera. Korzystałem z różnych tutoriali i porad z internetu i nie przyniosło to pożądanego efektu.

Problem jest nastepujący.
Tworzę sobie serwis i chciałbym, aby użytkownicy, którzy będą go odwiedzali mieli możliwość kontaktu z obsługą serwisu. Więc stworzyłem sobie formularz kontaktowy(3 pola) , w którym użytkownik podaje swoje "imię i nazwisko", swój "adres email", dzięki któremu będzie można się z nim skontaktować i odpowiedzieć na zapytanie oraz "treść" tego zapytania. Formularz ten znajduje się w oddzielnym pliku. Do wysyłania maili posłużyłem się PHPMailerem. Kod wysyłający zapytanie jest następujący:

                require("class.phpmailer.php"); 
		require("class.smtp.php"); 
		$mail = new PHPMailer(); 
		$mail->IsSMTP();
		$mail->Port = 587;
		$mail->CharSet = "iso-8859-2";
		$mail->Host = "poczta.o2.pl";
		$mail->From = $email; //przypisanie wartości z pola "adres email" formularza
		$mail->FromName = $name; //przypisanie wartości z pola "imie i nazwisko" formularza
		$mail->AddAddress("[email protected]");

		$mail->Subject = "Zapytanie"; 
		$mail->Body = $message; //przypisanie wartosci z pola "treść" formularza
		$mail->WordWrap = 100;

		$mail->SMTPAuth = true;
		$mail->Username = 'mojlogin';
		$mail->Password = 'mojehaslo';
		if (!$mail->Send()) {
			echo "{success: false, message: '".iconv("ISO-8859-2", "UTF-8", "Wystąpił błąd podczas wysyłania wiadomości.")."'}";
		}
		else 
		{
			echo "{success: true, message: '".iconv("ISO-8859-2", "UTF-8", "Wysłano wiadomość")."'}";
		}

Rzecz w tym, że mail zostaje wysłany tylko w przypadku, gdy w polu "adres email" formularza podam email wpisany w tym miejscu:
$mail->AddAddress("[email protected]"); Wpisanie jakiegokolwiek innego adresu email czy to z poczty O2 czy z innej zwraca błąd.
A właśnie o to mi chodzi żeby każdy mógł wpisać swój własny adres email i dzięki temu można będzie odpowiedzieć na zapytanie.
Proszę o pomoc.

0

adres email FROM czyli email OD uzytkownika, ktory posiada konto SMTP (ze wzgledow bezpieczenstwa jest wycinane).

Jakby tak mozna bylo robic to mozna by sie podszywac pod czyjes emaile.

Rozwiazanie to wyslanie info do Ciebie z ustawienym reply-to na adres uzytkownika strony/formularza

0

Ok, rozumiem. Nie można tak, bo ktoś może się podszyć pod kogoś innego. Z drugiej strony, jeżeli ustawię tak jak mówisz to i tak ktoś może sobie w formularzu wpisać adres email innej osoby. Dobrze rozumuję ?
Jeżeli chcę zastosować twoje rozwiązanie to muszę zmienić
$mail->From = $email;
na
$mail->From ("[email protected]");
??
A "reply to" jak ustawić ?
$mail->AddReplyTo = $email; ???

0

Tak ale wtedy ty dostajesz emaile z takim emailem i jak o:

  1. wysylasz potwierdzenie to piszesz: email zostal wyslany z Ip jeslinie zrobiles tego ty to ...

  2. Jak nie ma potwierdzenia ty zadajac pytanie tez pytasz o potwierdzenie

Jak to zrobic ? Jest jak BYK w dokumentacji !!!!!!!!!!!!!!!!!!!!

0

Dobra, poradziłem sobie. Wielkie dzięki za pomoc.

1 użytkowników online, w tym zalogowanych: 0, gości: 1