Tuesday, September 16, 2014

Re: 'In test' global variable?

You could define more than one email config, have a config to save the email to a database table or similar and one to actually send the email using Mandrill.

Depending on where you send emails from you could use AppController::beforeFilter() or elsewhere, simple example:

$emailConfig = (Configure::read('debug') > 0) ? 'database' : 'default'
Configure::write('Email.config', $emailConfig);

//.. somewhere else

$email = new CakeEmail();
$email->config(Configure::read('Email.config'));

On 16 September 2014 14:24, Jeremy Burns : Class Outfit <jeremyburns@classoutfit.com> wrote:
Thanks Mark. After writing I decided to check the debug level. If > 0 (i.e. potentially in test) don't send the emails. I send via Mandrill so can't easily log the result without actually sending it. It's cool.

On 16 Sep 2014, at 14:14, euromark <dereuromark@gmail.com> wrote:

I use custom Configure keys for my EmailLib (extends CakeEmail):

  • Don't send emails without Configure::write('Email.live'), but log them away verbosely. For testing.
Basically, you will have to add something like this on your own I am afraid

mark


Am Dienstag, 16. September 2014 14:04:48 UTC+2 schrieb Jeremy Burns:
My model code sends out emails, so when I run my test suite the system triggers multiple emails - which is potentially bad for spam ratings. Is there a global variable I can check so that when 'in test' the messages aren't triggered?

--
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+unsubscribe@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.

--
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+unsubscribe@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.



--
Kind Regards
 Stephen Speakman

--
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+unsubscribe@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.

No comments: