echo(lang('mailAccount dnx')); return; } $pass = $account->getSyncPass(); $server = $account->getSyncServer(); $folder = $account->getSyncFolder(); $address = $account->getSyncAddr(); if($pass == null || $server == null || $folder == null || $address == null) { echo(lang('cant sync account')); ?><br><a href="<?php echo ROOT_URL?>/index.php?c=access&a=index" target="_top">Go back to Feng Office</a><?php return; } $conditions = array("conditions" => array("`sync`=0 AND `state` = 3 AND `account_id` =".$account->getId())); $check_sync_box = MailUtilities::checkSyncMailbox($server, $account->getSyncSsl(), $account->getOutgoingTrasnportType(), $account->getSyncSslPort(), $folder, $address, $pass); if ($check_sync_box){ $sent_mails = MailContents::findAll($conditions); if (count($sent_mails)==0){ echo(lang('mails on imap acc already sync')); ?><br><a href="<?php echo ROOT_URL?>/index.php?c=access&a=index" target="_top">Go back to Feng Office</a><?php return; } foreach ($sent_mails as $mail){ try{ DB::beginWork(); $content = $mail->getContent(); MailUtilities::sendToServerThroughIMAP($server, $account->getSyncSsl(), $account->getOutgoingTrasnportType(), $account->getSyncSslPort(), $folder, $address, $pass, $content); $mail->setSync(true); $mail->save();
function sync_old_sent_mails() { if (!config_option("sent_mails_sync")) { flash_error(lang('no access permissions')); ajx_current("empty"); return; } set_time_limit(0); if (logged_user()->isGuest()) { flash_error(lang('no access permissions')); ajx_current("empty"); return; } $id = get_id(); $account = MailAccounts::findById($id); if (!$account instanceof MailAccount) { flash_error(lang('mailAccount dnx')); ajx_current("empty"); return; } $pass = $account->getSyncPass(); $server = $account->getSyncServer(); $folder = $account->getSyncFolder(); $address = $account->getSyncAddr(); if ($pass == null || $server == null || $folder == null || $address == null) { flash_error(lang('cant sync account')); ajx_current("empty"); return; } $conditions = array("conditions" => array("`sync`=0 AND `state` = 3 AND `account_id` =" . $account->getId())); $check_sync_box = MailUtilities::checkSyncMailbox($server, $account->getSyncSsl(), $account->getOutgoingTrasnportType(), $account->getSyncSslPort(), $folder, $address, $pass); if ($check_sync_box) { $sent_mails = MailContents::findAll($conditions); if (count($sent_mails) == 0) { flash_success(lang('mails on imap acc already sync')); ajx_current("empty"); return; } foreach ($sent_mails as $mail) { try { DB::beginWork(); $content = $mail->getContent(); MailUtilities::sendToServerThroughIMAP($server, $account->getSyncSsl(), $account->getOutgoingTrasnportType(), $account->getSyncSslPort(), $folder, $address, $pass, $content); $mail->setSync(true); $mail->save(); DB::commit(); } catch (Exception $e) { DB::rollback(); } } flash_success(lang('sync complete')); ajx_current("empty"); return; } else { flash_error(lang('invalid sync settings')); ajx_current("empty"); return; } }