/** * * @param unknown $o * @return multitype:Ambigous <multitype:NULL, number> * http://127.0.0.1/extmailbox_local/proxy.php?attachments=[]&bcc=[]&body=%26nbsp%3Btest1&cc=[]&exw_action=local.MailboxSmtpExt.sendMail&from=micoli%40mail.local&message_id=40ac2d70-e52c-4e5f-96e0-584478c5dcaf&priority=medium&ref=&subject=test1&to=[{%22email%22%3A%22micoli%40mail.local%22%2C%22name%22%3A%22%22}]&account=micoli@ms * http://localhost/extmailbox_local/proxy.php?exw_action=local.MailboxSmtpExt.sendMail&account=micoli%40ms&attachments=[%220cfd65d5-1f80-4b0c-8e29-28e7877ab41b-9-Des%20portails%20ferms%20%20l%27uniformit%22%2C%220cfd65d5-1f80-4b0c-8e29-28e7877ab41b-4-La%20cuisine%20contemporaine%20privilgie%20la%20transparence%22]&bcc=[]&body=%26nbsp%3B%20test%20de%20text%20ht%3Cspan%20style%3D%22background-color%3A%20rgb%28255%2C%20255%2C%20153%29%3B%22%3Eml%3Cb%3Edsdsd%3C%2Fb%3Edsds%3C%2Fspan%3Eds%20%3Ci%3Edsdsds%20%3C%2Fi%3E%3Cbr%3E%26nbsp%3Btest%20de%20text%20ht%3Cspan%20style%3D%22background-color%3A%20rgb%28255%2C%20255%2C%20153%29%3B%22%3Eml%3Cb%3Edsdsd%3C%2Fb%3Edsds%3C%2Fspan%3Eds%20%3Ci%3Edsdsds%26nbsp%3B%20%3C%2Fi%3Etest%20de%20text%20ht%3Cspan%20style%3D%22background-color%3A%20rgb%28255%2C%20255%2C%20153%29%3B%22%3Eml%3Cb%3Edsdsd%3C%2Fb%3Edsds%3C%2Fspan%3Eds%20%3Ci%3Edsdsds%3C%2Fi%3E&cc=[]&from=micoli%40mail.local&message_id=0cfd65d5-1f80-4b0c-8e29-28e7877ab41b&priority=medium&ref=&subject=test%20123&to=[{%22email%22%3A%22micoli%40mail.local%22%2C%22name%22%3A%22%22}] */ public function pub_sendMail($o) { /* *'from','fromName' *'to','cc','bcc' *'sender','replyTo' 'subject' 'lng' 'charset' 'plaintext 'HTMLBody' 'newTextBody' 'attachment' */ header('content-type:text/html'); error_reporting(E_ALL ^ E_NOTICE); ini_set('display_errors', 1); ini_set('html_errors', 1); $p = QDImap::makeMailEditorStruct($o); $sender = new mailSenderSwiftMailer(); $res = $sender->sendBasic(smMailMessage::create()->set($p), array('account' => $GLOBALS['conf']['imapMailBox']['accounts'][$o['account']]['smtp'])); if ($res['success']) { $sentFolder = $GLOBALS['conf']['imapMailBox']['accounts'][$o['account']]['sendFolder']; $this->setAccount($o['account']); $this->imapProxy->open($sentFolder); $r = $this->imapProxy->append($sentFolder, $res['mailStream'], "\\Seen"); } return array('success' => $res['success']); }
protected function makeMailStruct($o) { $mailParams = QDImap::makeMailEditorStruct($o); $params = array('m' => array('su' => $mailParams['subject'], "mp" => array("@ct" => "multipart/alternative", "mp" => array(array("@ct" => "text/html", "content" => $mailParams['HTMLBody']), array("@ct" => "text/plain", "content" => $mailParams['PLAINBody']))))); $attachments = akead('attachments', $mailParams, array()); if (count($attachments) > 0) { $params['m']['aid'] == ''; foreach ($attachments as $attachment) { $params['m']['attach']['aid'] = $params['m']['aid'] . ($params['m']['aid'] == '' ? '' : ',') . $attachment['data']['server_token']; } } if (akead('priority', $mailParams, false)) { $params['m']['@f'] = self::$priorityType[$mailParams['priority']]; } $params['m']['e'] = array(array('@t' => 's', '@a' => $mailParams['sender'], '@p' => $mailParams['fromName'])); if (akead('message_id', $mailParams, false) && $mailParams['message_id'] > 0 && !preg_match('!^TMP-!', $mailParams['message_id'])) { $params['m']['id'] = $mailParams['message_id']; } if (akead('idnt', $o, false)) { $params['m']['idnt'] = $o['idnt']; } foreach (self::$recipientType as $type => $prefix) { if (array_key_exists($type, $mailParams) && is_array($mailParams[$type])) { foreach ($mailParams[$type] as $email) { $r = array('@t' => $prefix, '@a' => $email['email']); if (akead('name', $email, false)) { $r['@p'] = $email['name']; } $params['m']['e'][] = $r; } } } //$params = array(ZimbraSoapClient::SoapVarArray(array( //"id" => "702289", //"did" => "702289", //"irt" => array( // "#%" => "<*****@*****.**>" //), //"idnt" => "85ff6e13-090b-46d9-97b6-c966c63b7d26", //))); //db(ZimbraSoapClient::SoapVarArray($params));die(); return $params; }
private function headerForView($filename, $size) { ////header("Content-Disposition: attachment; filename=" . urlencode($this->imapProxy->decodeMimeStr($filename))); header("Content-Type: " . QDImap::getMimeContentType($filename)); header("Content-Length: " . $size); }
public function init() { $accounts = $GLOBALS['conf']['imapMailBox']['accounts']; $this->imapProxy = new Interceptor(QDImap::getInstance($accounts, $this->proxyClass), isset($GLOBALS['conf']['app']['plugins']) ? $GLOBALS['conf']['app']['plugins'] : null); }