Tvorba web stránok s administráciou, internetové obchody

PHP a zachytenie nedoručených mailov Tlačiť E-mail

 

 

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 Táto adresa je chránená pred robotmi nevyžiadanej pošty. Ak ju chcete vidieť, musíte mať povolený JavaScript. ');
?>

 

Riešenie spočíva v pridaní piateho parametra funkcie mail(), ktorý je k dispozícií už od 4. verzie PHPčka. Parameter „-f meno@domena.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().