• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wysyłanie maila PHP

0 głosów
82 wizyt
pytanie zadane 28 lutego w PHP, Symfony, Zend przez zerakot Obywatel (1,570 p.)

Witajcie,

Wie ktoś dlaczego mój kod wysyłający maila nie wysyła maila?

HTML:

<div id="mail">
			<form action="" method="post">
					<input type="text" name="do" value="iktorn2006@wp.pl" disabled />
					<input type="text" name="od" placeholder="Twój E-mail" />
					<input type="text" name="wiadomosc" placeholder="Treść zamówienia*"/>
					<input type="submit" name="wyslijmaila" value="WYŚLIJ" action="mail.php"/>
					<div id="wyjasnienie" onmouseover="pokazzasady()" onmouseout="ukryjzasady()">*</div>
			</form>
			</div>

PHP:

<?php
if(isset($_POST['do']) & (isset($_POST['od']) & (isset($_POST['wiadomosc']))
{
	$do = $_POST['do'];
	$od = $_POST['od'];
	$wiadomosc = $_POST['wiadomosc'];
	mail($do, $od, $wiadomosc);
}
	

?>

 

1 odpowiedź

0 głosów
odpowiedź 28 lutego przez Tomek Sochacki Mędrzec (186,690 p.)
dlaczego action dla forma jest puste, a dałeś action dla inputa? Jeśli chciałbyś nadpisać action z forma to musiałbyś użyć atrybutu formaction (https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/submit#formaction) ale to nie jest zbyt dobre rozwiązanie i jeszcze nie spotkałem się z koniecznością jego użycia...
komentarz 28 lutego przez zerakot Obywatel (1,570 p.)
W logach wszystko dobrze, a w spamie nima
komentarz 28 lutego przez Tomek Sochacki Mędrzec (186,690 p.)
http://php.net/manual/en/function.mail.php

z tego co widzę to funkcja mail zwraca boolean, więc przypisz sobie to do jakieś zmiennej i wyśli zwrotnie na clienta np. vadumpem czy echo, zobaczymy bo może metoda zwraca false? Jeśli tak to warto by zdebugować co sieci w tych zmiennych.
komentarz 28 lutego przez zerakot Obywatel (1,570 p.)

Zmieniłem kod na tako o:

<?php
if(isset($_POST['od']) && isset($_POST['wiadomosc']))
{
    $do = "email@wp.pl";
    $od = $_POST['od'];
    $wiadomosc = $_POST['wiadomosc'];
    $menu = mail($do, $od, $wiadomosc);
	echo $menu;
}
	//header("location: przegladaj.php")
	

?>

I pokazuje mi:


Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\xampp\htdocs\sklep\mail.php on line 7

komentarz 28 lutego przez Tomek Sochacki Mędrzec (186,690 p.)
no przecież masz jasno napisane - próbujesz wysłać coś z localhosta a pewnie nie masz postawionego serverka poczty. Ja już parę lat nie pisałem w PHP i nie pomogę Ci w zakresie stawiania serverka, nie wiem nawet co tam obecnie jest zalecane itp. Ale dam sobie rękę uciąć że gdybyś po prostu ten błąd dał do googla to znajdziesz coś np. na SO... próbowałeś chociaż :) ?
komentarz 28 lutego przez zerakot Obywatel (1,570 p.)
Nie, ale spróbuję.

Podobne pytania

0 głosów
1 odpowiedź 60 wizyt
pytanie zadane 20 czerwca 2018 w PHP, Symfony, Zend przez SoDoIt Obywatel (1,200 p.)
0 głosów
0 odpowiedzi 220 wizyt
pytanie zadane 10 stycznia 2018 w C i C++ przez antekwi546 Początkujący (490 p.)
0 głosów
1 odpowiedź 1,098 wizyt
pytanie zadane 28 lipca 2017 w C i C++ przez Hapsiu Użytkownik (510 p.)
Porady nie od parady
Pytania na temat serwisu SPOJ należy zadawać z odpowiednią kategorią dotyczącą tej strony.SPOJ

65,654 zapytań

112,282 odpowiedzi

236,928 komentarzy

46,645 pasjonatów

Przeglądających: 145
Pasjonatów: 1 Gości: 144

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...