diff --git a/app/email_queue/email_test.php b/app/email_queue/email_test.php
new file mode 100644
index 0000000000..7c886e2819
--- /dev/null
+++ b/app/email_queue/email_test.php
@@ -0,0 +1,131 @@
+
+ *
+ * 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.
+ */
+
+//set the include path
+ $conf = glob("{/usr/local/etc,/etc}/fusionpbx/config.conf", GLOB_BRACE);
+ set_include_path(parse_ini_file($conf[0])['document.root']);
+
+//includes files
+ require_once "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 "
| ".$name." | \n"; + echo "".$value." | \n"; + } + else { + echo "".$name." | \n"; + echo "".$value." | \n"; + } + echo "