| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 | 
							- <?php
 
- /**
 
-  * @file
 
-  * Enables Drupal to send e-mail directly to an SMTP server.
 
-  *
 
-  * This module uses a customized extract of the PHPMailer
 
-  * library (originally by Brent R. Matzelle, now maintained
 
-  *  by Codeworx Tech.) relicensed from LGPL to GPL, included
 
-  * as a part of the module.
 
-  *
 
-  * Overriding mail handling in Drupal to make SMTP the default
 
-  * transport layer, requires to change the mail_system variable's
 
-  * default value array('default-system' => 'DefaultMailSystem').
 
-  * This module uses array('default-system' => 'SmtpMailSystem').
 
-  */
 
- /**
 
-  * Implements hook_help().
 
-  */
 
- function smtp_help($path, $arg) {
 
-   switch ($path) {
 
-     case 'admin/help#smtp':
 
-       return t('Allow for site emails to be sent through an SMTP server of your choice.');
 
-   }
 
- }
 
- /**
 
-  * Implements hook_menu().
 
-  */
 
- function smtp_menu() {
 
-   $items['admin/config/system/smtp'] = array(
 
-     'title'            => 'SMTP Authentication Support',
 
-     'page callback'    => 'drupal_get_form',
 
-     'page arguments'   => array('smtp_admin_settings'),
 
-     'access arguments' => array('administer smtp module'),
 
-     'description'      => 'Allow for site emails to be sent through an SMTP server of your choice.',
 
-     'file'             => 'smtp.admin.inc',
 
-   );
 
-   return $items;
 
- }
 
- /**
 
-  * Implements hook_permission().
 
-  */
 
- function smtp_permission() {
 
-   return array(
 
-     'administer smtp module' => array(
 
-       'title' => t('Administer SMTP Authentication Support module'),
 
-       'description' => t('Perform administration tasks for SMTP Authentication Support module.'))
 
-   );
 
- }
 
- /**
 
-  * Implements hook_mail().
 
-  */
 
- function smtp_mail($key, &$message, $params) {
 
-   if ($key == 'smtp-test') {
 
-     $message['subject'] = $params['subject'];
 
-     $message['body'] = $params['body'];
 
-   }
 
- }
 
- /**
 
-  * Implementation of hook_cron_queue_info().
 
-  */
 
- function smtp_cron_queue_info() {
 
-   $queues['smtp_send_queue'] = array(
 
-     'worker callback' => 'smtp_send_queue_runner',
 
-     'time' => 60, // This is the max run time per cron run in seconds.
 
-   );
 
-   return $queues;
 
- }
 
- /**
 
-  * smtp_send_queue queuer.
 
-  */
 
- function smtp_send_queue($mailerObj) {
 
-   $queue = DrupalQueue::get('smtp_send_queue');
 
-   $queue->createItem($mailerObj);
 
- }
 
- function smtp_send_queue_runner($variables) {
 
-   _smtp_mailer_send($variables);
 
- }
 
- function _smtp_mailer_send($variables) {
 
-   $mailer = $variables['mailer'];
 
-   $to = $variables['to'];
 
-   $from = $variables['from'];
 
-   // Let the people know what is going on.
 
-   watchdog('smtp', 'Sending mail to: @to', array('@to' => $to));
 
-   // Try to send e-mail. If it fails, set watchdog entry.
 
-   if (!$mailer->Send()) {
 
-     watchdog('smtp', 'Error sending e-mail from @from to @to : !error_message', array('@from' => $from, '@to' => $to, '!error_message' => $mailer->ErrorInfo), WATCHDOG_ERROR);
 
-     return FALSE;
 
-   }
 
-   $mailer->SmtpClose();
 
-   return TRUE;
 
- }
 
 
  |