コード例 #1
0
 /**
  * Parse email
  *
  * @param $module
  */
 function rt_parse_email()
 {
     global $rt_mail_settings, $rt_mail_accounts_model;
     $emails = $rt_mail_accounts_model->get_all_mail_accounts();
     foreach ($emails as $emailRow) {
         if (!$emailRow) {
             continue;
         }
         $email = $emailRow->email;
         error_log(sanitize_email($email) . " Selected. \r\n");
         $rt_mail_settings->update_sync_status($email, true);
         $last_sync_time = $emailRow->last_mail_time;
         if (!$last_sync_time) {
             $dt = new DateTime('now');
             $dt->sub(new DateInterval('P1D'));
             $last_sync_time = $dt->format('d-M-Y');
         } else {
             $dt = new DateTime($last_sync_time);
             $dt->sub(new DateInterval('P1D'));
             $last_sync_time = $dt->format('d-M-Y');
         }
         global $rt_mail_uid;
         if ($emailRow->last_mail_uid) {
             $rt_mail_uid = unserialize($emailRow->last_mail_uid);
         } else {
             $rt_mail_uid = array();
         }
         $signature = '';
         $email_type = '';
         $imap_server = '';
         $access_token = $rt_mail_settings->get_accesstoken_from_email($email, $signature, $email_type, $imap_server);
         $rtZendEmail = new Rt_Zend_Mail();
         $rtZendEmail->reademail(sanitize_email($email), $email, $access_token, $email_type, $imap_server, $last_sync_time, $emailRow->user_id, $emailRow->module, $signature);
         $rt_mail_settings->update_sync_status($email, true);
     }
 }