Add Support for Job Queue

jersu - June 18, 2009 - 20:22
Project:SMTP Authentication Support
Version:6.x-1.0-beta3
Component:Code
Category:feature request
Priority:normal
Assigned:Unassigned
Status:active
Description

I find that hitting 'submit' on pages that send mail via smtp take a long time for the request to complete, especially if more than one mail is being sent behind the scenes. I've slightly modified my smtp.module to take advantage of the cron queuing interface of the popular job_queue.module (actually, this function is pretty much lifted straight from queue_mail.module)

1) rename smtp.module function 'drupal_mail_wrapper' to 'smtp_mail_send'
2) add the following function -

<?php
function drupal_mail_wrapper($message) {
  if (
function_exists('job_queue_add')) {
   
job_queue_add('smtp_mail_send', t('Queued email'), array($message));
    return
t('Email message queued for delivery.');
  }
  else {
   
smtp_mail_send($message);
    return
t('Queuing unavailable. Email sent directly.');
  }
}
?>

 
 

Drupal is a registered trademark of Dries Buytaert.