Ako správne odosielať emaily v PHP
Z Flexi Hosting Wiki
Emailové správy pozostávajú z dvoch častí - hlavičiek a tela správy. Medzi hlavičkami sa nachádza adresa odosielateľa (From:) a adresa príjemcu (To:). Je to analogické ako pri klasickej papierovej pošte, kde sú adresy odosielateľa a príjemcu uvedené na jednej strane spolu s textom.
K týmto údajom emailový server doplní obálku (envelope information), analogicky ako obálka dopisu pri papierovej pošte. Obsahuje údaje, kto správu odoslal a kam ju treba doručiť. Adresa odosielateľa v hlavičke From: nemusí byť rovnaká ako adresa uvedená v envelope from. Po dosiahnutí cieľa je adresa z envelope from dosadená do hlavičky ako Return-Path a rovnako sú na túto adresu odosielané automaticky generované správy o stave doručenia (delivery status notifications).
Ako správne odosielať emaily
Väčšina našich zákazníkov neuvádza adresu envelope-from v domnení, že nastavenie hlavičky From: je dostačujúce. V takomto prípade sa ako envelope-from použije adresa uvedená v php.ini (štandardne webmaster@vasadomena). Automatické správy informujúce o stave doručenia sú tak odosielané na nesprávnu adresu (v prípade, že táto adresa neexistuje a nemáte nastavený doménový kôš takéto správy nie sú doručované vôbec).
Funkcia mail()
Funkcia mail() má 4 parametre. Príjemca, predmet, samotný text správy, voliteľné hlavičky a voliteľné parametre pre funkciu sendmail. Odosielateľa treba nastaviť parametrom '-f email'.
<?php mail('nobody@example.com', 'the subject', 'the message', null, '-f webmaster@example.com'); ?>