Spam yourself. Spamalot or a spamalittle with DevelMailLog

Jacob Singh's picture

I was upgrading The Watcher module to Drupal 7 today and found myself having to test a lot of email sending. Looking around in vain for a fake email system to log emails to the disk instead of sending them out into the interwebs to risk getting called the dreaded meat product, I decided to write one using the new pluggable mail system interface in Drupal 7.

Spam!

Previous versions of this have existed in the past, but I couldn’t find anything in devel currently. Here’s how it works. If you want to save your mails locally to files:

Step 1
Install Devel
Step 2
Apply this patch (until it gets committed) – Review here:
http://drupal.org/node/625062.

cd sites/all/modules/devel
curl http://drupal.org/files/issues/develmail-625062-1.patch | patch -p0

Step 3
In your settings.php file:

$conf['mail_system' => array('default-system', 'DevelMailLog');

That’s it!

Unless you set anything else mails are saved to files/mails/$to-$subject-$datetime.mail.txt

Example
Contact | My Site

Terminal — bash — 140×50

Bonus
You can change the directory with
variable_set(’devel_debug_mail_directory’, file_directory_path() . ‘/mails’);

Or the file format
variable_set(’devel_debug_mail_file_format’, ‘%to-%subject-%datetime.mail.txt’);

Till next time spammers…

jowouters's picture
Jo Wouters

An alternative solution: Chx

Posted on November 13, 2009 - 10:40 by Jo Wouters.

An alternative solution:
Chx wrote an article about testing email, and he proposed to replace the sendmail-path in php.ini; and make all mails pass by a custom script - see http://drupal4hu.com/node/55

His solution served us great when we needed to spam ourselves :-)

Jo