Funkce php mail() je extrémně jednoduchá funkce PHP na odesílání emailu. Skript může vypadat například takto:
<?php mail("Tato e-mailová adresa je chráněna před spamboty. Pro její zobrazení musíte mít povolen Javascript.","Předmět emailu","Tělo emailu"); ?>
Na začátek je třeba říci, že ve velmi podobné formě tento skript používají i viry na zavirovaných web stránkách!
Jak si můžete všimnout, skript nedefinuje hlavičku emailu, nenastavuje kódování češtiny, nepřevádí předmět do base64. Skript jednoduše na tvrdo odešle mail v nejořezanější formě. Mnoho vývojářů eshopů, redakčních systému a webů obecně tuto funkci používá přesně v tomto formátu.
Jaký má funkce mail() důsledek?
V dnešní době již většina mail serverů požaduje správně napsaný email s definovanou hlavičkou emailu, obvykle i SPF záznam nebo DKIM. Většina mail serverů také blokuje všechny emaily odeslané pomocí funkce mail() a to v případě, že jste definovali hlavičku emailů. Email do schránky nedorazí nebo v lepší případě spadne pouze do spamu.
Několik klientů se nám ozvalo, že maily z Prestashopu a jiných e-shopů nedochází klientům do mail schránky. Jednalo se především o doručování mailů na gmail, yahoo, livemail... Kontrolou nastavení Prestashopu jsme zjistili, že odesílají emaily klientům skrze funkci mail(). Přenastavili jsme jim nastavení Prestashpu na odesílání mailů skrze SMTP a problém byl vyřešen.
Na našem hostingu můžete odesílat emaily, skrze php mail(), SMTP a sendmail a to bez limitů.
Nejspolehlivější metodou odesílání emailů je stále odesílání skrze SMTP. Chcete li zvýšit úspěšnost doručení emailů, nastavte ke své doméně následující SPF záznam pro MyDreams servery:
v=spf1 a mx +ip4:178.238.41.64/26 +ip4:85.118.130.64/26 +ip4:83.167.253.128/25 +ip4:149.62.151.128/26 +ip4:46.19.36.211 ~all
Pokud nastavení SPF záznamu nepomůže je třeba implementovat DKIM.