Mailer
4 příspěvky
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
Mám problém s mailerom. Slúži na odosielanie e-mailov s prílohou. Používa funkciu imap_mail_compose (http://www.php.net/, search: imap_mail_compose). Má tú chybu, že k názvu prílohy pridáva príponu .dat Dáta sú nepoškodené, sú v poriadku, ale pre lajika sa nedajú otvoriť. Adresu má: http://www.pikosoft.wz.cz/email/email.php
-
stejnej problem mam taky, uz jsem to psal do sekce php, ale nikdo mi neporadil - je to jen v tom enctype-binary - ale nikdo nerekl, co tam mam napsat misto toho aby to fungovalo tak jak ma...
-
Dnes som sa s tým celý deň zaoberal a prišiel som na riešenie. Je to trošku zložitejšie. Radšej ti dám zdrojáč: <? $envelope["from"]="$from"; $envelope["to"]="$to"; $envelope["cc"]="$cc"; $envelope["bcc"]="$bcc"; $envelope["subject"]="$subject"; $head["type"]=TYPEMULTIPART; $head["subtype"]="mixed"; $message["type"]=TYPETEXT; $message["encoding"]=ENCBASE64; $message["subtype"]="html"; $message["description"]="Text správy"; $message["contents.data"]= base64_encode($msg) . "\n\n\n"; $fp=fopen($file,"r"); $contents=fread($fp,filesize($file)); fclose($fp); $attachment["type"]=TYPEAPPLICATION; $attachment["encoding"]=ENCBINARY; //Tuto problém nie je, ale aj ja som si to najprv myslel $attachment["subtype"]="octet-stream"; $attachment["contents.data"]=$contents; $body[1]=$head; $body[2]=$message; $body[3]=$atachment; $email_output = imap_mail_compose($envelope,$body); // Mail máme hotový, ale nie celkom správny. // Treba niektoré hlavičky doplniť alebo zmeniť, rozobrať na $header a $telo a tak odoslať. $exp_path = explode("\\",$filename); $filename = $exp_path[count($exp_path)-1]; // Príkaz basename mi nejak nefunguje :-(, tak som si to spravil inak. $header_end = strpos($email_output, "\r\n\r\n"); $header = substr($email_output,0,$header_end); $header .= "; charset=windows-1250\n"; //Diakritika v hlavičke $header .= "X-Priority: $priority\n"; $header .= "X-Mailer: PikoSoft PHP Mailer (http://www.pikosoft.wz.cz/)\n\n"; $telo = substr($email_output,$header_end,strlen($email_output)); $telo = str_replace("US-ASCII","windows-1250",$telo); // Diakritika $telo = str_replace("Content-Type: APPLICATION/octet-stream","Content-Type: APPLICATION/octet-stream\nContent-Disposition: attachment; filename=\"$filename\"",$telo); //<<-- TOTO SI VŠIMNI! $result = mail("","",$telo,$header); echo $result ? "E-mail bol odoslaný." : "E-mail sa nepodarilo odoslať."; ?> POZNÁMKA: $file je súbor odoslaný pomocou formulára a $filename je názov a cesta k súboru.
-
Miesto $body[3]=$atachment; má byť $body[3]=$attachment; !