Jak opravit problém s odesíláním e-mailů ve WordPressu
Až donedávna jsem tento problém nikdy řešit nemusel, tedy alespoň nebylo nutné opravovat základní funkčnost WordPressu. Problém s odesíláním e-mailů však patří k těm vůbec nejčastějším, ale kupodivu řešení není složité.
Já jsem na problém narazil po přesunu na nový webhosting. Testovat e-maily mě po přesunu nenapadlo, byl jsem rád, že vše se zobrazuje jak má, takže jsem to náhodou zjistil až po pár dnech, kdy nepřišlo upozornění na vyplněný formulář.
Otestujte si odesílání
U každého problému je nutné zjistit, kde je problém. Doporučuji jednoduchý plugin Check Email, který umožňuje poslat testovací e-mail a ukáže, zda se vyskytl nějaký problém.
Podezření se mi potvrdilo, takže jsem kontaktoval podporu hostingu. Obratem jsem se dozvěděl, že ohledně funkce mail() mají na serveru nastavená omezení a doporučili vyzkoušet plugin WP Mail SMTP, kterým lze nastavit alternativní odesílání.
Nastavení SMTP
WordPress standardně využívá právě PHP funkci mail() k odesílání zpráv. Sdílené webhostingy však mají často nastavené limity atd., které mají zabránit spamování či zneužití. Určitě je dobré si toto ověřit předem.
Chcete-li posílat větší objemy (např. newsletter, upozornění), pak může být vhodnější využít SMTP. E-maily pak můžete odesílat třeba přes Seznam, Gmail či některou ze specializovaných služeb jako SendGrid či Mailgun.