Hi there, i'm having a problem calling a function to send email inside
another function in a controller. i'm calling the function here on function
delete, the functions is mail():

        function delete($id)

        {
                $this->ApiHandler->access('admin', 'dcgl');

                $this->EncomendasEncomenda->id = $id;

                $this->EncomendasEncomenda->recursive = -1;

                $data = $this->EncomendasEncomenda->read();

                if ($data['EncomendasEncomenda']['activa'] == 1)
                {
                        $newState = 0;
                }
                else
                {
                        $newState = 1;
                }

                if ($this->EncomendasEncomenda->saveField('activa', $newState))

                {       
                        $this->mail($id);
                        $this->Session->setFlash('Estado da Encomenda 
alterado');       
                
                }
                else
                {
                        $this->Session->setFlash('Não é possível alterar o 
estado da
Encomenda');
                }
        $this->redirect($this->referer());      
        }  
}
My function mail()  work's fine but when i call it from the function i get a
blank page and no email sended

  function mail($encomendaId)
    {
        configure::write('debug', 0);

        $this->autoRender = false;

        App::import('vendor', 'PHPMailer', array('file' =>
'PHPMailer_v5.0.2/class.phpmailer.php'));

        $mail = new PHPMailer();

        $mail->SMTPDebug = 0;

                $mail->SMTPAuth   = true;                // enable SMTP 
authentication
                $mail->Port       = 25;                  // set the SMTP port

                $mail->Host       = Configure::read('Email.host'); // SMTP 
server

                $mail->Username   = Configure::read('Email.username'); // SMTP 
account
username

                $mail->Password   = Configure::read('Email.password');     // 
SMTP account
password

                $mail->SetFrom(Configure::read('Email.address'), 'PCG');

                $mail->AddAddress('[email protected]', 'ADMIN');

                        $print_link = sprintf('http://%s%s', 
configure::read('PCG.server'),
Router::url(array('action' => 'view', $encomendaId.'.print')));
                
        $html = file_get_contents($print_link);        

        if (empty($html))

        {
                $this->log('Envio do e-mail EMPTY ' . $print_link, 'emails');

                exit(0);

        }

        $text = strip_tags($html);

        $subject = 'PCG: Encomenda #'.$encomendaId;

        $mail->Subject = $subject;

        $mail->AltBody = $text;

        $mail->MsgHTML($html);

        $this->log('Envio do e-mail ' . $subject, 'emails');
       
 if(!$mail->Send()) 
        {
            $this->log($mail->ErrorInfo, 'emails');
        }
        else
        {
            $this->log('Envio do e-mail ' . $subject . ' OK', 'emails');
        }

Thanks in advance.

--
View this message in context: 
http://cakephp.1045679.n5.nabble.com/SEND-EMAIL-FUNCTION-INSIDE-CONTROLLER-tp4461556p4461556.html
Sent from the CakePHP mailing list archive at Nabble.com.

-- 
Our newest site for the community: CakePHP Video Tutorials 
http://tv.cakephp.org 
Check out the new CakePHP Questions site http://ask.cakephp.org and help others 
with their CakePHP related questions.


To unsubscribe from this group, send email to
[email protected] For more options, visit this group at 
http://groups.google.com/group/cake-php

Reply via email to