The email component is extensible. See this example: http://bakery.cakephp.org/articles/dankroad/2011/01/30/integrate_amazon_simple_email_service_ses_into_existing_application
While it's purpose is different than yours it should give some ideas. On Fri, Jul 22, 2011 at 8:44 AM, Christophe Vandeplas <christo...@vandeplas.com> wrote: > Hello bujanga, > > That's indeed what I am doing now, but it is a violation of the MVC principle. > So I'd like to do it the clean way, but I need a little help to get started. > > Of course I'll publish any final code if it becomes a plugin/component ... > > > On Mon, Jul 18, 2011 at 10:21 PM, bujanga <buja...@gmail.com> wrote: >> I do something very similar. Though I send plain text email only. I >> create my data as fully formatted, sign/encrypt it and then send it to >> a template that just outputs the field. >> >> On Mon, Jul 18, 2011 at 12:16 PM, Christophe Vandeplas >> <christo...@vandeplas.com> wrote: >>> Hello, >>> >>> >>> My webapplication needs to send out emails that are signed with a GPG >>> signature. >>> However as I am using the Email component this seems a little more >>> complicated as I can't really figure out how to do it. Any help will >>> be appreciated and compensated with Belgian beer if we ever meet. >>> >>> Signing data using GnuPG (and the PEAR GPG classes) is relatively >>> easy: >>> require_once 'Crypt/GPG.php'; >>> $gpg = new Crypt_GPG(); >>> $text = "Hello world"; >>> $gpg->addSignKey(Configure::read('GnuPG.email'), >>> Configure::read('GnuPG.password')); >>> $text_signed = $gpg->sign($text, Crypt_GPG::SIGN_MODE_CLEAR); >>> debug($text_signed); >>> >>> The code I use to send out the email is here. The "new_event" view >>> will be used to format my email message with the data from $event. >>> >>> $this->Email->from = "foo <f...@bar.com>"; >>> $this->Email->to = "bar <b...@foo.com>"; >>> $this->Email->subject = "[foo] new event"; >>> $this->Email->delivery = 'debug'; // do not really send out >>> mails, only display it on the screen >>> $this->Email->template = 'new_event'; // in views/elements/ >>> email/html or text >>> $this->Email->sendAs = 'text'; // both text or html >>> $this->set('event', $event); >>> $this->Email->send(); >>> >>> Now the GPG magic needs to happen on the email body/message. >>> I've opened the EmailComponent class to find out that the ->send() >>> function _renders() the mail using the view and finally sends it using >>> the delivery method (mail, smtp,...). >>> >>> However I can't find a way to extract the rendered body, sign it, push >>> it back and then let it be sent. >>> >>> I guess I will probably need to make a new component class to handle >>> this. However I have absolutely no idea where or how to start. >>> Considering the few lines required to do the gpg signing it shouldn't >>> be to difficult though... >>> >>> Could you give me some advice to get this going? >>> >>> Thanks >>> Christophe >>> >>> -- >>> 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 >>> cake-php+unsubscr...@googlegroups.com For more options, visit this group at >>> http://groups.google.com/group/cake-php >>> >> >> -- >> 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 >> cake-php+unsubscr...@googlegroups.com For more options, visit this group at >> http://groups.google.com/group/cake-php >> > > -- > 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 > cake-php+unsubscr...@googlegroups.com For more options, visit this group at > http://groups.google.com/group/cake-php > -- 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 cake-php+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php