PHP a zachytenie nedoručených mailov

Všetky správy o nedoručení e-mailu by mali byť doručované na konto UNIXového užívateľa, ktorý e-mail odoslal, v tomto prípade by to mal byť užívateľ, ktorý je vlastníkom daného priečinku, z ktorého sa e-mail odosiela. K hláškam o nedoručení správ sa teda prakticky nedá dostať, pretože nie každý má prístup napr. k SSH a pod.

Našťastie existuje riešenie priamo v PHP, ktoré však vyžaduje vypnutý safe_mode.

<?
mail($to, $subject, $content, $mime, '-f tvoja@adresa.sk');
?>

Riešenie spočíva v pridaní piateho parametra funkcie mail(), ktorý je k dispozícií už od 4. verzie PHPčka. Parameter „-f tvoja@adresa.sk“ spôsobí nastavenie „envelope-sender-address“ na ľubovoľnú adresu, e-mail sa tvári ako skutočne odosielaný z danej adresy. Pokiaľ sa envelope-adress nenastavuje, je uvedený defaultný server (zväčša mail.hosting.sk) a tam sa aj doručujú správy o neúspešnom doručení.

Riešenie funguje iba za predpokladu, že je vypnutý safe_mode, pri zapnutom je odmietaný piaty parameter funkcie mail().

Tato funkce je ideální pro odesílání do mailingových seznamů, například pro blogy, elektronický obchod a operátory online kasin. Slovenske Online Casino tuto funkci implementovali a připojili se k jejich mailing listu, aby se dozvěděli více.

One thought on “PHP a zachytenie nedoručených mailov

Leave a Reply

Your email address will not be published. Required fields are marked *