* * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ //includes files require_once dirname(__DIR__, 2) . "/resources/require.php"; require_once "resources/check_auth.php"; //check permissions if (!permission_exists('email_queue_view')) { echo "access denied"; exit; } //add multi-lingual support $language = new text; $text = $language->get(); //prepare the email $email_recipient = !empty($_POST['to']) && valid_email($_POST['to']) ? strtolower($_POST['to']) : null; $email_body = "Test Message

\n"; $email_body .= "This message is a test of the SMTP settings configured within your PBX.
\n"; $email_body .= "If you received this message, your current SMTP settings are valid.

\n"; $email_from_address = $_SESSION['email']['smtp_from']['text']; $email_from_name = $_SESSION['email']['smtp_from_name']['text']; //send email $sent = 0; $email = new email; $email->recipients = $email_recipient; $email->subject = 'Test Message'; $email->body = $email_body; $email->from_address = $email_from_address; $email->from_name = $email_from_name; $email->attachments = $email_attachments ?? null; $email->debug_level = 3; $email->method = 'direct'; ob_start(); $sent = $email->send(); $send_response = ob_get_contents(); ob_end_clean(); $end_response = $email->response; //format response $email_response = array_merge(explode("\n", str_replace('
', '', $end_response)), explode("
\n", $send_response)); if (!empty($email_response) && is_array($email_response) && @sizeof($email_response) != 0) { foreach ($email_response as $x => $line) { if (empty(trim($line))) { unset($email_response[$x]); } } } //show the content echo "\n"; echo "".$text['header-email_test']."\n"; echo "

\n"; echo $text['description-email_test']."\n"; echo "


\n"; echo "".$text['header-settings']."\n"; echo "

\n"; ksort($_SESSION['email']); echo "\n"; foreach ($_SESSION['email'] as $name => $setting) { foreach ($setting as $type => $value) { echo "\n"; if ($type == 'uuid') { $uuid = $value; continue; } if ($name == 'smtp_password') { $value = str_repeat('*', strlen($value)); } if (permission_exists('default_setting_edit')) { echo "\n"; echo "\n"; } else { echo "\n"; echo "\n"; } echo "\n"; } } echo "
".$name."".$value."".$name."".$value."
\n"; echo "

\n"; echo "".$text['header-connection']."\n"; echo "

\n"; echo "
\n"; if (!empty($email_response) && is_array($email_response) && @sizeof($email_response) != 0) { echo implode("
\n
\n", $email_response); } echo "
\n"; echo "

\n"; echo "".$text['header-result']."\n"; echo "

\n"; echo $sent ? "Message Sent Successfully
Receipient: ".$email_recipient."" : "Message Failed"; echo "

\n"; echo "
\n"; echo " \n"; echo "
\n"; ?>