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