Hi, 

assuming Cakephp 2.x:

$Email = new CakeEmail();
//....... all the additional email settings  ....
$result = $Email->send();

$result['message']  contains the whole email message (txt, html even with 
attachments), 
1. you can parse this to get txt and html parts.
2. option as you wrote, writing your own Email class extending the 
CakeEmail where you put these getters:

App::uses('CakeEmail', 'Network/Email');
class myCakeEmail extends CakeEmail {
     public function getTxtMessage() {
         return $this->_textMessage;
     }
     public function getHtmlMessage() {
         return $this->_htmlMessage;
     }
}

then simply get the relevant message like this
$Email = new myCakeEmail();
//....... all the additional email settings  ....
if ($Email->send()) {
    $htmlBody = $Email->getHtmlMessage();
}

Martin

On Monday, July 27, 2015 at 4:53:19 PM UTC+2, #2Will wrote:
>
> I'm trying to work out a good way to record all the emails the system has 
> sent. I want to record them to DB, with columns for To, Subject and 
> Message. 
>
> I don't think that CakeEmail triggers any events or callbacks I can hook 
> into?
> If I write a custom Log, I think I just get back the Whole message as 
> text.  
>
> It seems like the best way is to  write my own myEmail class that extends 
> CakeEmail.
>
> how can I get hold of the HTML message and Text message to be sent from 
> within say the send method?
>
> Will
>

-- 
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

--- 
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to cake-php+unsubscr...@googlegroups.com.
To post to this group, send email to cake-php@googlegroups.com.
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/d/optout.

Reply via email to