Esempio n. 1
0
 /**
  *
  * @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']);
 }
Esempio n. 2
0
 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;
 }
Esempio n. 3
0
 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);
 }
Esempio n. 4
0
 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);
 }