// SMTP gateway settings: $old_smtp_enabled = $Settings->get('smtp_enabled'); // Enabled $Settings->set('smtp_enabled', param('smtp_enabled', 'boolean', 0)); // SMTP Host $Settings->set('smtp_server_host', param('smtp_server_host', 'string', '')); // Port Number $Settings->set('smtp_server_port', param('smtp_server_port', 'integer')); // Encryption Method $Settings->set('smtp_server_security', param('smtp_server_security', 'string', '')); // SMTP Username $Settings->set('smtp_server_username', param('smtp_server_username', 'string', '')); // SMTP Password $Settings->set('smtp_server_password', param('smtp_server_password', 'string', '')); // Check if we really can use SMTP mailer if ($Settings->get('smtp_enabled') && ($smtp_error = check_smtp_mailer()) !== true) { // No available to use SMTP gateway $Settings->set('smtp_enabled', 0); $Messages->add($smtp_error, 'warning'); } // Save info about SMTP enabling/disabling if (!$old_smtp_enabled && $Settings->get('smtp_enabled')) { // Enabled $syslog_message = T_('SMTP enabled.'); } elseif ($old_smtp_enabled && !$Settings->get('smtp_enabled')) { // Disabled $syslog_message = T_('SMTP disabled.') . (!empty($smtp_error) && is_string($smtp_error) ? ' ' . sprintf(T_('Reason: %s'), $smtp_error) : ''); } break; default: // Invalid tab3
/** * Test connection to SMTP server by Swift Mailer * * @return array Result messages */ function smtp_connection_test() { global $smtp_connection_result; $smtp_messages = array(); $smtp_connection_result = true; // Check if Swift Mailer is enabled $check_smtp_result = check_smtp_mailer(); $message = T_('Check SMTP settings... '); if ($check_smtp_result === true) { // Success $smtp_messages[] = $message . '<span class="green">OK</span>'; syslog_insert($message . 'OK', 'info', NULL); } else { // Error $smtp_messages[] = $message . '<span class="red">' . $check_smtp_result . '</span>'; syslog_insert($message . $check_smtp_result, 'warning', NULL); $smtp_connection_result = false; return $smtp_messages; // EXIT } // Test a connection $Swift_SmtpTransport =& get_Swift_SmtpTransport(); $connection_result = test_smtp_transport($Swift_SmtpTransport); $message = T_('Test SMTP connection... '); if ($connection_result === true) { // Success $smtp_messages[] = $message . '<span class="green">OK</span>'; syslog_insert($message . 'OK', 'info', NULL); } else { // Error $smtp_messages[] = $message . '<span class="red">' . $connection_result . '</span>'; syslog_insert($message . $connection_result, 'warning', NULL); $smtp_connection_result = false; } return $smtp_messages; }