PHP 7 i funkcja mail

0

Witam,

przeszukałem trochę internet i to forum i nie mogę znaleźć rozwiązania mojego problemu. Jakiś czas temu (ok.2-3 lata) napisałem kod dotyczący formularza kontaktowego. Ostatnio musiałem ponownie wykorzystać ten kod i okazało się że w nowej wersji PHP 7 kod nie działa. Niby nie ma tam żadnych wodotrysków ale nie wiem w czym jest błąd.

Czy w PHP7 funkcję mail() zastąpili czymś innym?

KOD do wysłania maila

if (@mail($adresat, $temat, $tresc, $header))
		echo '
		<center>
			<div style="color:white;background-color:#478cff;margin-top:1px;height:100px;font:bold 1.4em consolas">	
				<div style="float:left;margin:35px 0px 0px 100px;width:300px;">
					<img src="img/ico/yes.png">
				</div>
				<div style="float:left;margin-top:30px;">
					Twój mail został wysłany poprawnie
				</div>
			</div>
		</center>
		';
	else 
		echo '
		<center>
			<div style="color:white;background-color:#478cff;margin-top:1px;height:100px;font:bold 1.4em consolas">	
				<div style="float:left;margin:35px 0px 0px 100px;width:300px;">
					<img src="img/ico/no.png">
				</div>
				<div style="float:left;margin-top:30px;">
					Twój mail nie został wysłany!
				</div>
			</div>
		</center>			
		';

0

Użyj PHPMailer, SwiftMailer albo czegoś takiego.

0

W php7 nadal to jest...

0

też kod masz przemieszany php, style css z html, weź poszukaj w necie (github) "php contact form" czy "php contact form with validation" i pewnie znajdziesz bez problemu kod na kopiuj-wklej

0

mam już kilka nowych kodów które będę testował.
jak ogarnę temat to dam znać na forum

0

Spotkałem się już kiedyś z sytuacją gdzie na hostingu (na serwerach) blokowali możliwość wysyłania maili funkcją mail(), są traktowane jako spam (info od admina na hostingu). Rozwiązaniem wtedy okazało się stworzenie formularza kontaktowego na podstawie darmowej biblioteki phpmailer() i wysyłanie maili z adresu którego domena była na tym serwerze. Trzeba było wykorzystać z serwera SMTP.
Link do biblioteki wraz z przykładem tutaj:
https://github.com/PHPMailer/PHPMailer

0
KiK napisał(a):

Spotkałem się już kiedyś z sytuacją gdzie na hostingu (na serwerach) blokowali możliwość wysyłania maili funkcją mail(), są traktowane jako spam (info od admina na hostingu).

pierwsze słyszę, zresztą wystarczy testowo wysłać maila i sprawdzić w minutę

0

@czysteskarpety: looknij: http://o12.pl/panel/knowledgebase.php?action=displayarticle&id=238

Wiem, że np. na home jest tak, że jak nie podasz jakiegoś parametru (-f czy coś) i nie wpiszesz do tego maila zarejestrowanego w ich usłudze, to serwer nie pozwoli CI wysłać danych: https://pomoc.home.pl/baza-wiedzy/formularz-kontaktowy-na-stronie-www-nie-wysyla-wiadomosci

Najlepiej w przypadku autora byłoby zorientować się jakie zasady panują na jego hostingu (bo to chyba nie localhost?) i wtedy dostosować parametryzację funkcji do wymagań hostingu. Ewentualnie spróbować z innymi bibliotekami, które zaproponowali koledzy, większa możliwość zdebugowania w czym problem.

0
hapertown napisał(a):

Wiem, że np. na home jest tak,

a tam, wiesz, jak ja zaczynałem klikać na wordpressie to już home.pl odradzano ;)

0

Myślę, że dużo prościej i bezpieczniej użyć jakiegoś gotowego rozwiązania, które dodatkowo zabezpieczy przed spamem. Ja strony moich klientów hostuję na Github Pages, więc przekierowuję formularz na contactform.pl i mogę bez PHP dostać wiadomość na email

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