Add warning when CIVICRM_MAIL_LOG is set and you are testing outbound mail settings
authorMatthew Wire <mjw@mjwconsult.co.uk>
Thu, 17 Aug 2017 18:37:42 +0000 (19:37 +0100)
committerMatthew Wire <mjw@mjwconsult.co.uk>
Thu, 17 Aug 2017 18:37:42 +0000 (19:37 +0100)
CRM/Admin/Form/Setting/Smtp.php

index 0be1226d70a166a470cf23fa087ab9af4a75a95a..84c8728287973ed64fdf00d9abe0291ad511a3fd 100644 (file)
@@ -166,7 +166,10 @@ class CRM_Admin_Form_Setting_Smtp extends CRM_Admin_Form_Setting {
         $errorScope = CRM_Core_TemporaryErrorScope::ignoreException();
         $result = $mailer->send($toEmail, $headers, $message);
         unset($errorScope);
-        if (!is_a($result, 'PEAR_Error')) {
+        if (defined('CIVICRM_MAIL_LOG')) {
+          CRM_Core_Session::setStatus($testMailStatusMsg . ts('You have defined CIVICRM_MAIL_LOG - no mail will be sent.  Your %1 settings have not been tested.', array(1 => strtoupper($mailerName))), ts("Mail not sent"), "warning");
+        }
+        elseif (!is_a($result, 'PEAR_Error')) {
           CRM_Core_Session::setStatus($testMailStatusMsg . ts('Your %1 settings are correct. A test email has been sent to your email address.', array(1 => strtoupper($mailerName))), ts("Mail Sent"), "success");
         }
         else {