Nacházíte se zde: Úvod Podpora Články Hostingové zprávy Odesílání e-mailů z webových aplikací
Odesílání e-mailů z webových aplikací
Odesílání e-mailů je běžnou součástí funkčnosti webových aplikací. Technicky lze odesílání řešit různými způsoby, které se liší efektivností, náročností, ale některé také v nestandardních provozních požadavcích, které nejsou na hostingových službách podporovány kvůli bezpečnosti provozu.
Zprávy bývají odesílány:
- na základě akce uživatele (např. vyplnění kontaktního formuláře, potvrzení objednávky v e-shopu),
- jako automatická reakce na nějakou událost (např. potvrzení přijetí platby),
- nebo v rámci nějakého naplánovaného procesu (např. rozeslání newsletteru).
Předpokladem úspěšného doručení zprávy samozřejmě je, aby byla zpráva správně sestavena podle příslušných standardů, a aby se nejednalo o SPAM. Pro zachování kvality služeb pro všechny uživatele je nezbytné, aby zprávy, které odcházejí z našich serverů, nebyly jakkoliv závadné. Odesílané zprávy proto automaticky kontrolujeme antivirem a antispamem.
V tomto článku proto shrnujeme možnosti, které mohou webové aplikace na našich hostingových službách využít pro samotné odeslání zprávy.
PHP funkce mail()
Nejefektivnější a také nejpoužívanější variantou je využití funkce mail(), která je standardní součástí jazyka PHP. Je automaticky k dispozici na všech našich webhostingových serverech. Použití je velmi jednoduché, obnáší jen zavolání této funkce s vhodnými parametry. A aplikace z návratové hodnoty ihned ví, zda byla správa úspěšně přijata k odeslání, či nikoliv. Důvodem pro neúspěch může být, že zpráva neprošla antivirovou nebo antispamovou kontrolou, nebo že byl vyčerpán hodinový limit na počet odeslaných zpráv. Bližší informace a příklad použití funkce mail() najdete v nápovědě v článku Odesílání e-mailu z PHP.
WebSMTP
WebSMTP je sdílený odesílací SMTP server pro aplikace umístěné na našich webserverech. Je alternativním řešením pro případy, kdy v aplikaci z nějakého důvodu nelze pro odesílání zpráv použít preferovanou funkci mail() (např. systémy používající knihovnu Switft Mailer jako třeba open-source e-shopový systém PrestaShop od řady 1.7.7, nebo frameworky Symfony a Laravel). Aplikace se k WebSMTP serveru připojuje standardně protokolem SMTP, každá doména má vlastní uživatelský účet (přístupy se nastaví v klientské sekci). I zde je každá odesílaná zpráva kontrolována antivirem a antispamem, odesílání je navíc povoleno jen z e-mailových adres na příslušné doméně. Nevýhodou tohoto řešení je nutnost implementace protokolu SMTP v aplikaci, a striktnější omezení oproti PHP funkci mail(). Informace k tomuto způsobu odesílání zpráv popisujeme v nápovědě v článku WebSMTP.
Vyhrazený odesílací SMTP server
Třetím způsobem odesílání e-mailů z webových aplikací je využití vyhrazeného odesílacího SMTP serveru. Jedná se o službu zřízenou na požádání pro jednoho konkrétního uživatele a jeho aplikace. Vyhrazený SMTP server můžeme zprovoznit na samostatném (typicky virtuálním) serveru, je možné jej nakonfigurovat i na existujícím virtuálním či dedikovaném managed serveru (virtuální server musí mít vyhrazenou IPv4 adresu, dedikované servery ji mají automaticky).
Skripty se v tomto případě připojují stejně jako na WebSMTP, tedy protokolem SMTP. Nicméně na rozdíl od WebSMTP zde nejsou technická omezení, protože se nejedná službu sdílenou více uživateli. Není zde aplikován limit počtu odeslaných zpráv v čase, ani kontrola adresy odesílatele. Navíc je možné server zpřístupnit i pro využívání z jiných zdrojů - běžných poštovních klientů, jinde umístěných aplikací (např. intranet), nebo různých zařízení (NAS, tiskárny, skenery, kamery apod.).
Jiné způsoby odesílání
Existují i další způsoby odesílání zpráv z aplikací, nicméně ty z důvodu zajištění kvality služeb nepovolujeme. Jedná se zejména o tyto:
- Přímé připojení na port 25 cizích SMTP serverů. Tuto možnost jsme zakázali v reakci na zneužívání aplikacemi s narušenou bezpečností - útočníci takto přes naše servery mohli odesílat libovolné zprávy (zejména spam) kamkoliv bez jakékoliv kontroly. Nicméně individuálně můžeme takové spojení na požádání povolit pro konkrétní doménu a cílový server.
- Odesílání přes odesílací server
smtp.cesky-hosting.cz
. Tento server je určen výhradně pro poštovní klienty fyzických uživatelů (Outlook, Thunderbird, Apple Mail apod.). Automatizované odesílání z webových aplikací nebo nějakých zařízení (viz. výše) zde není povoleno. - Přímé spuštění nějakého systémového programu pro odesílání e-mailů (např. sendmail). Systémové programy nejsou na našich serverech PHP skriptům přístupné z bezpečnostních důvodů.
Případné dotazy (nejen) k tématu odesílání zpráv z webových aplikací rádi zodpovíme na zákaznické podpoře.
Komentáře
Žádné příspěvky