Autor | Zpráva | ||
---|---|---|---|
etexweb Profil |
HTML/Text a príloha e-mailu (hlavičky)
Toto je neúplná časť skriptu, viete mi poradiť, ako upraviť hlavičky tak, aby sa dala zasielať aj príloha? Skúšal som to, ale buď sa odoslala iba príloha a alebo len text. Nikdy to nešlo naraz. <?php $isHTML = true; $mime_boundary="----=_NEXT".md5(time()); # HTML Version //$eol="\r\n"; $eol="\n"; $headers=""; $headers .= "From: <".$from.">".$eol; $headers .= "Reply-To: <".$from.">".$eol; $headers .= "Return-Path: <".$from.">".$eol; // these two to set reply address //$headers .= "Message-ID: <".$now." TheSystem@".$_SERVER['SERVER_NAME'].">".$eol; //$headers .= "X-Mailer: PHP v".phpversion().$eol; // These two to help avoid spam-filters # Boundry for marking the split & Multitype Headers If($isHTML) { $headers .= "MIME-Version: 1.0".$eol; $headers .= "Content-Type: multipart/alternative;".$eol; $headers .= " boundary=\"".$mime_boundary."\"".$eol; } Else { $headers .= "Content-Type: text/plain; charset=\"UTF-8\"".$eol; $headers .= "Content-Transfer-Encoding: 8bit".$eol; //$msg .= "Content-Transfer-Encoding: quoted-printable".$eol; } $msg = ""; If($isHTML) { $msg .= "This is a multi-part message in MIME format.".$eol; $msg .= "--".$mime_boundary."".$eol; $msg .= "Content-Type: text/plain; charset=\"UTF-8\"".$eol; //$msg .= "Content-Transfer-Encoding: quoted-printable".$eol; $msg .= "".$eol; $Body_plain=$this->getBody(); $Body_plain=ereg_replace("<style[^<]*</style>","",$Body_plain); $Body_plain=strip_tags($Body_plain); $Body_plain=str_replace(" "," ",$Body_plain); $msg .= ($Body_plain).$eol.$eol; //$msg .= quoted_printable_encode($Body_plain).$eol.$eol; $msg .= "--".$mime_boundary."".$eol; $msg .= "Content-Type: text/html; charset=\"UTF-8\"".$eol; //$msg .= "Content-Transfer-Encoding: quoted-printable".$eol; $msg .= "".$eol; $msg .= ($this->getBody()).$eol.$eol; //$msg .= quoted_printable_encode($this->getBody()).$eol.$eol; $msg .= "--".$mime_boundary."--".$eol; } else { $msg .= ($this->getBody()).$eol.$eol; //$msg .= quoted_printable_encode($this->getBody()).$eol.$eol; } |
||
Alphard Profil |
#2 · Zasláno: 13. 7. 2014, 11:00:36
Doporučuji použít hotové řešení, třeba z Nette, jiných frameworků nebo phpMailer. Odesílání mailů z přílohou je dost problematické, výsledek můžete otestovat v 10 aplikacích a v 11. to bude rozbité... Tady bych opravdu preferoval věci otestované širokou uživatelskou základnou.
|
||
Časová prodleva: 10 let
|
0