function rt_send_email() { global $rt_mail_settings; $emailRow = $rt_mail_settings->get_new_sent_mail(); if (empty($emailRow)) { return; } $rtZendEmail = new Rt_Zend_Mail(); $accessTokenArray = array(); $signature = ''; foreach ($emailRow as $email) { error_log('Sending email : ' . var_export($email->id, true)); if (!isset($accessTokenArray[$email->fromemail])) { $email_type = ''; $imap_server = ''; $accessTokenArray[$email->fromemail] = array('token' => $rt_mail_settings->get_accesstoken_from_email($email->fromemail, $signature, $email_type, $imap_server), 'email_type' => $email_type, 'imap_server' => $imap_server); } if ($rt_mail_settings->update_sent_email($email->id, 'p', 'no') > 0) { $updateFlag = false; try { $fromname = !empty($email->fromname) ? $email->fromname : get_bloginfo(); $result = $rtZendEmail->sendemail($fromname, $email->fromemail, $accessTokenArray[$email->fromemail]['token'], $accessTokenArray[$email->fromemail]['email_type'], $accessTokenArray[$email->fromemail]['imap_server'], $email->subject, $email->body, unserialize($email->toemail), unserialize($email->ccemail), unserialize($email->bccemail), unserialize($email->attachement)); error_log(var_export('Email id :' . $email->id . ' Status :' . $result, true)); if ($result) { $updateFlag = true; } } catch (Exception $e) { $updateFlag = false; } if ($updateFlag) { $rt_mail_settings->update_sent_email($email->id, 'yes', 'p'); } else { $rt_mail_settings->update_sent_email($email->id, 'error', 'p'); echo 'Error: ' . esc_attr($email->id) . '<br />'; } } else { echo 'Error: ' . esc_attr($email->id) . '<br />'; } } }