Choď na navigáciu
Nálepky: príloha email CakePHP

Ako poslať email s prílohou

Nedávno som v jednom z mojich projektov riešil situáciu, kedy bolo potrebné k odosielanému emailu pripojiť aj prílohu. V článku si ukážeme jednoduchý návod, ako odoslať email s prílohou v CakePHP.

V CakePHP sa o posielanie emailov stará trieda EmailComponent a ako už z názvu môžeme vyčítať, vystupuje v úlohe komponenty. Táto trieda poskytuje plnohodnotné rozhranie pre profesionálnu prácu s emailami prostredníctvom CakePHP.

Email s prílohou

Ako som už spomínal, CakePHP myslí aj na tento spôsob odoslania emailu a v mnohých prípadoch môže byť veľmi užitočný. Napríklad si môžeme predstaviť, že chceme z nášho webu registrovať uchádzačov o prácu a chceme im poskytnúť možnosť k svojej žiadosti priložiť aj svoj životopis.

Na nasledujúcom kóde môžeme vidieť využitie email komponenty a jej odoslanie emailu s prílohou

class CareersController extends AppController {
        var $name = 'Careers';
        var $uses = array('Career');
        var $components = array('Email');

        function add() {
                if(!empty($this->data)) {
                        $this->Email->to = 'test@mydomain.com';
                        $this->Email->replyTo = $this->data['Career']['email'];
                        $this->Email->from = $this->data['Career']['email'];
                        $this->Email->subject = 'Registration';
                        $this->Email->filePaths = array('files'.DS.'registration');
                        $this->Email->attachments = array($file);

                        $message = array($this->data['Career']['name'],$this->data['Career']['position']);

                        $this->Email->send($message));
                }
        }
}

Ako môžeme vidieť na kóde vyššie, okrem bežných nastavení potrebných pre správne odoslanie emailu s prílohou sme nastavili premennú $this->Email->filePaths, čo je cesta k prílohám relatívne k adresári /app/webroot/ (čiže v našom prípade sa budú prílohy nachádzať v adresári /app/webroot/fi­les/registrati­on) a taktiež sme nastavili premennú $this->Email->attachments do ktorej sme umiestnili pole s názvami súborov, ktoré sa nachádzajú v adresári /app/webroot/fi­les/registrati­on. Tieto nastavenia sú kompletné, ktoré musíme vykonať, aby sme následne mohli odosielať emaily aj s prílohami.

Rád uvítam vaše námety a pripomienky v diskusii k článku.

Povedz o článku aj ostatným - www.pridej.cz

Hodnotenie článku: 36%
Počet hodnotení: 65

zlýdobrý

Komentáre k článku

Nový komentár

  1. Nie sú vytvorené žiadne komentáre