. * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. * */ global $RBAC; $RBAC->requirePermissions('PM_SETUP_ADVANCE'); $request = (isset($_POST['action']))?$_POST['action']:$_POST['request']; switch ($request) { case 'init': $G_PUBLISH = new Publisher; $G_PUBLISH->AddContent('view', 'setup/mailConnectiontest'); G::RenderPage('publish', 'raw'); break; case 'mailTestMail_Show': define("SUCCESSFUL", 'SUCCESSFUL'); define("FAILED", 'FAILED'); $mail_to = $_POST['mail_to']; $send_test_mail = $_POST['send_test_mail']; $_POST['FROM_NAME'] = $mail_to; $_POST['FROM_EMAIL'] = $mail_to; $_POST['MESS_ENGINE'] = 'MAIL'; $_POST['MESS_SERVER'] = 'localhost'; $_POST['MESS_PORT'] = 25; $_POST['MESS_ACCOUNT'] = $mail_to; $_POST['MESS_PASSWORD'] = ''; $_POST['TO'] = $mail_to; $_POST['SMTPAuth'] = true; $resp = sendTestMail(); if($resp->status){ print(SUCCESSFUL.','.$resp->msg); } else { print(FAILED.','.$resp->msg); } break; case 'testConnection': G::LoadClass('net'); require_once('classes/class.smtp.rfc-821.php'); define("SUCCESSFUL", 'SUCCESSFUL'); define("FAILED", 'FAILED'); $srv = $_POST['srv']; $port = ($_POST['port'] == 'default')? 25: $_POST['port']; $user = $_POST['account']; $passwd = $_POST['passwd']; $step = $_POST['step']; $auth_required = $_POST['auth_required']; $send_test_mail = $_POST['send_test_mail']; $mail_to = $_POST['mail_to']; $Server = new NET($srv); $oSMTP = new ESMTP; switch ($step) { case 1: if ($Server->getErrno() == 0) { print(SUCCESSFUL.','); } else { print(FAILED.','.$Server->error); } break; case 2: if($port == 0){ $port = $oSMTP->SMTP_PORT; } $Server->scannPort($port); if ($Server->getErrno() == 0) { print(SUCCESSFUL.','); } else { print(FAILED.','.$Server->error); } break; #try to connect to host case 3: if($port == 0){ $resp = $oSMTP->Connect($srv); } else { $resp = $oSMTP->Connect($srv, $port); } if( !$resp) { print(FAILED.','.$oSMTP->error['error']); } else { print(SUCCESSFUL.','.$oSMTP->status); } break; #try login to host case 4: if($auth_required == 'yes'){ if($port == 0){ $resp = $oSMTP->Connect($srv); } else { $resp = $oSMTP->Connect($srv, $port); } if($resp) { $oSMTP->do_debug = false; $oSMTP->Hello($srv); if( !$oSMTP->Authenticate($user, $passwd) ) { print(FAILED.','.$oSMTP->error['error']); } else { print(SUCCESSFUL.','.$oSMTP->status); } } else { print(FAILED.','.$oSMTP->error['error']); } } else { print(SUCCESSFUL.', No authentication required!'); } break; case 5: if($send_test_mail == 'yes'){ //print(SUCCESSFUL.',ok'); $_POST['FROM_NAME'] = 'Process Maker O.S. [Test mail]'; $_POST['FROM_EMAIL'] = $user; $_POST['MESS_ENGINE'] = 'PHPMAILER'; $_POST['MESS_SERVER'] = $srv; $_POST['MESS_PORT'] = $port; $_POST['MESS_ACCOUNT'] = $user; $_POST['MESS_PASSWORD'] = $passwd; $_POST['TO'] = $mail_to; if($auth_required == 'yes'){ $_POST['SMTPAuth'] = true; } else { $_POST['SMTPAuth'] = false; } $resp = sendTestMail(); if($resp->status){ print(SUCCESSFUL.','.$resp->msg); } else { print(FAILED.','.$resp->msg); } } else { print('jump this step'); } break; default: print('test finished!'); } break; } function sendTestMail() { $sFrom = ($_POST['FROM_NAME'] != '' ? $_POST['FROM_NAME'] . ' ' : '') . '<' . $_POST['FROM_EMAIL'] . '>'; $sSubject = G::LoadTranslation('ID_MESS_TEST_SUBJECT'); $msg = G::LoadTranslation('ID_MESS_TEST_BODY'); switch ($_POST['MESS_ENGINE']) { case 'MAIL': $engine = G::LoadTranslation('ID_MESS_ENGINE_TYPE_1'); break; case 'PHPMAILER': $engine = G::LoadTranslation('ID_MESS_ENGINE_TYPE_2'); break; case 'OPENMAIL': $engine = G::LoadTranslation('ID_MESS_ENGINE_TYPE_3'); break; } $colosa_msg = "This Business Process is powered by ProcessMaker."; $sBody = "
| $msg [".date('H:i:s')."] - $engine |
|
This Business Process is powered by ProcessMaker. www.processmaker.com |