Skip to content

Instantly share code, notes, and snippets.

@eminetto
Created May 23, 2011 19:43
Show Gist options
  • Save eminetto/987420 to your computer and use it in GitHub Desktop.
Save eminetto/987420 to your computer and use it in GitHub Desktop.
EmailController
<?php
class EmailController extends Zend_Controller_Action {
        //configuração do exemplo
        private $smtp = 'smtp.gmail.com';
        private $conta = '[email protected]';
        private $senha = 'senha';
        private $de = '[email protected]';
        private $para = '[email protected]';
       
        //envio de e-mail texto
        public function indexAction() {
               
                $assunto = "Teste de envio de email ";
                $mensagem = "Isso é apenas um teste de envio utilizando o Zend_Mail().";
                try {
                $config = array (
                        'auth' => 'login',
                        'username' => $this->conta,
                        'password' => $this->senha,
                        'ssl' => 'ssl',
                        'port' => '465'
                );
                $mailTransport = new Zend_Mail_Transport_Smtp($this->smtp, $config);
                $mail = new Zend_Mail('UTF-8');
                $mail->setFrom($this->de);
                $mail->addTo($this->para);
                $mail->setBodyText($mensagem);
                $mail->setSubject($assunto);
                $mail->send($mailTransport);
                echo "Email enviado com SUCESSSO!";
                } catch (Exception $e){
                        echo ($e->getMessage());
                }
                exit;
        }
       
        //envio de e-mail html
        public function htmlAction() {
                $assunto = "Teste de envio de email em HTML";
                $mensagem = "Isso é apenas um teste de envio utilizando o <b>Zend_Mail()</b>.<br><br>Até mais, <br>Elton Minetto<br><i>Coderockr</i>";
                try {
                        $config = array (
                                'auth' => 'login',
                                'username' => $this->conta,
                                'password' => $this->senha,
                                'ssl' => 'ssl',
                                'port' => '465'
                        );
                $mailTransport = new Zend_Mail_Transport_Smtp($this->smtp, $config);
                $mail = new Zend_Mail('UTF-8');
                $mail->setFrom($this->de);
                $mail->addTo($this->para);
                $mail->setBodyHtml($mensagem);
                $mail->setSubject($assunto);
                $mail->send($mailTransport);
                echo "Email enviado com SUCESSSO!";
                } catch (Exception $e){
                        echo ($e->getMessage());
                }
                exit;
        }
       
        //envio de e-mail com anexo
        public function anexoAction() {
                /**
                * verifica se o formulário foi enviado
                */
                if($_POST) {
                        /**
                        * Recebe os campos do formulário
                        */
                        $arqTmp = $_FILES["file"]["tmp_name"];
                        $arqName =$_FILES["file"]["name"];
                        $arqType = $_FILES["file"]["type"];
                       
                        $assunto = "Teste de envio de email com Anexo";
                        $mensagem = "Isso é apenas um teste de envio utilizando o <b>Zend_Mail()</b>.<br><br>Até mais, <br>Elton Minetto<br><i>Coderockr</i>";
                try {
                        $config = array (
                                'auth' => 'login',
                                'username' => $this->conta,
                                'password' => $this->senha,
                                'ssl' => 'ssl',
                                'port' => '465'
                        );
                        $mailTransport = new Zend_Mail_Transport_Smtp($this->smtp, $config);
                        $mail = new Zend_Mail('UTF-8');
                        $mail->setFrom($this->de);
                        $mail->addTo($this->para);
                        $mail->setBodyHtml($mensagem);
                        $mail->setSubject($assunto);
                        $mail->createAttachment(file_get_contents($arqTmp), $arqType, Zend_Mime::DISPOSITION_INLINE, Zend_Mime::ENCODING_BASE64, $arqName);
                        $mail->send($mailTransport);
                        echo "Email enviado com SUCESSSO!";
                        } catch (Exception $e){
                                echo ($e->getMessage());
                        }
                }                      
        }
       
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment