PHP 7 i funkcja mail

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

Kopiuj
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>			
		';

DE
  • Rejestracja:ponad 9 lat
  • Ostatnio:10 miesięcy
  • Postów:1788
0

Użyj PHPMailer, SwiftMailer albo czegoś takiego.

XA
  • Rejestracja:ponad 7 lat
  • Ostatnio:około 3 lata
  • Postów:48
0

W php7 nadal to jest...

DE
Jest, ale używając funkcji mail tyle rzeczy może pójść nie tak, ale lepiej sobie zaoszczędzić kłopotów i użyć tego co napisałem wyżej.
XA
nie zaprzeczam ;)
mr_jaro
pewnie nie usuwają dlatego, ze jak ktoś robi prosty formularz kontaktowy który będzie słał maile tylko na jego skrzynke to nie potrzeba nic więcej
czysteskarpety
czysteskarpety
  • Rejestracja:prawie 10 lat
  • Ostatnio:ponad 4 lata
  • Lokalizacja:Piwnica
  • Postów:7697
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

KiK
  • Rejestracja:ponad 8 lat
  • Ostatnio:prawie 3 lata
  • Postów:88
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

czysteskarpety
czysteskarpety
  • Rejestracja:prawie 10 lat
  • Ostatnio:ponad 4 lata
  • Lokalizacja:Piwnica
  • Postów:7697
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ę


HA
  • Rejestracja:prawie 10 lat
  • Ostatnio:około 7 lat
  • Postów:335
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.

czysteskarpety
czysteskarpety
  • Rejestracja:prawie 10 lat
  • Ostatnio:ponad 4 lata
  • Lokalizacja:Piwnica
  • Postów:7697
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

Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)