Autor Zpráva
DarkMeni
Profil
Zdravím, zkoušel jsem se naučit odeslat email i s přilohou, ale když se odešle tak mi do schránky místo zprávy a přílohy dorazí 2 přílohy, jde to nastavit tak, aby do schránky dorazila jak zpráva, která se dá hned číst, tak i příloha, kteroá se potom dá stáhnout?
Mám na to tento kód
        $handle = fopen($tmpfilename, 'r');
        $filecontentdata = fread($handle, filesize($tmpfilename));
        fclose($handle);
        $headers = array(
            'from' => 'Web <user@email.cz>',
            'content-type' => 'text/html;charset=utf-8'
        );
        $body = array(
            1 => array(
                'type' => TYPEMULTIPART,
                'subtype' => 'mixed'
            ),
            2 => array(
                'type' => TYPEAPPLICATION,
                'subtype' => 'octet-stream',
                'encoding' => ENCBINARY,
                'description' => 'file', //K čemu je to vůbec, čekal jsem, že by to nastavovalo aspoň název přílohy, ale stejně tam mam noname
                'contents.data' => $filecontentdata
            ),
            3 => array(
                'type' => TYPETEXT,
                'subtype' => 'plain',
                'charset' => 'utf-8',
                'description' => 'message',
                'contents.data' => '<h1>Zpráva s přílohou?</h1>'
            )
        );
        $imap_mail = imap_mail_compose($headers, $body);
        $headbreak = strpos($imap_mail, "\r\n\r\n");
        $imap_mail_heads = substr($imap_mail, 0, $headbreak + 2);
        //Nedá se to rozdělení hlaviček od dokumentu nějak zkrátit? Třeba funckí která rozdělí řetězec třeba do pole v prvním výskytu hledaného výrazu?
        $imap_mail_body = substr($imap_mail, $headbreak, strlen($imap_mail) - $headbreak);
                mail('mojeschranka@email.cz', 'Titulek', $imap_mail_body, $imap_mail_heads);
($tmpfilename je řetězec s názvem dočasného právě uploadovaného souboru který neukládám, ale hned ho posílám.)
Ale jak jsem psal místo očekávaného tvaru jako:

Zpráva s přílohou?

Příloha.koncovka - 20000 B
Otevřít Uložit

Mám:

(nic)
noname - 20000 B
Otevřít Uložit
noname - 30 B
Otevřít Uložit

Jestli někdo pochopil o co mi jde, tak jde něco takovýho udělat? A jestli ano, tak kde dělám chybu že se mi to zpracuje takto?
Taps
Profil
DarkMeni:
Osvědčilo se mi použít hotové řešení - phpmailer - http://hrazdil.info/blog/202-e-maily-s-prilohou-v-php
DarkMeni
Profil
Aha, tímhle jsem chtěl ušetřit pár KB místa. V PHP maileru je to samí co se dá udělat i pomocí mail() akorát je to trochu přehlednější, nebo ne a PHP-Mailer umí něco navíc (s objektama si zatím moc nerozumim)? Ještě jsem se zapoměl zeptat, jakou maximální velikost řetězce je PHP schopný uložit? Uloží do proměnné obsah obrázku kolem 500KB (max. 1-2MP, nevim kolik to bude, ale snad 2 miliony znaků, nebo ne?)?
abc
Profil
DarkMeni:
Myslím, že v dnešní době nemá pár kB moc význam. Hlavně si ušetříte spoustu starostí...
PHP nemá limit na délku řetezce

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0