Exemplo n.º 1
0
 public function view_replyMessage()
 {
     $msgid = isset($_POST['msgid']) ? $_POST['msgid'] : 0;
     //回复的message
     $text = isset($_POST['text']) ? trim($_POST['text']) : '';
     //回复的内容
     $iscopy = isset($_POST['copy']) ? trim($_POST['copy']) : 1;
     //是否抄送到用户邮箱
     $hasattach = isset($_POST['hasattach']) ? trim($_POST['hasattach']) : '';
     $msg_obj = new amazonmessageModel();
     $account_obj = new AmazonAccountModel();
     $messageinfo = $msg_obj->getMessageInfo(array($msgid));
     if (empty($messageinfo)) {
         //message不存在
         $msgdata = array('errCode' => 10010, 'errMsg' => 'message不存在');
         echo json_encode($msgdata);
         exit;
     }
     if (empty($text)) {
         $msgdata = array('errCode' => 10013, 'errMsg' => '回复内容不能为空!');
         echo json_encode($msgdata);
         exit;
     }
     $msginfo = $messageinfo[0];
     $pwd = $account_obj->getAmazonPasswordByGmail($msginfo['recieveid'])[0]['password'];
     $pwd = base64_decode($pwd);
     $newid = 0;
     //新的队列主键id
     $doresult = $msg_obj->insertMessageReply($msgid, $iscopy, $text, $msginfo['classid'], $msginfo['amazon_account'], $newid);
     $connection = new AMQPConnection(MQ_SERVER, 5672, 'admin', 'admin', 'valsun_message');
     $channel = $connection->channel();
     $channel->exchange_declare(MQ_EXCHANGE_AMAZON, 'fanout', false, true, false);
     $channel->queue_declare(MQ_QUEUE_AMAZON, false, true, false, false);
     $send = preg_split('/@/', $recieveid)[0];
     $msg_uid = preg_replace("/{$send}/", '', $msginfo['message_id']);
     if ($hasattach == 'yes') {
         $attach = $msginfo['send_attachpath'];
     } else {
         if ($hasattach == 'no') {
             $attach = '';
         }
     }
     $text = '<pre>' . $text . '</pre>';
     $data = json_encode(array('mid' => $msgid, 'msgbody' => $text, 'subject' => $msginfo['subject'], 'sendid' => $msginfo['sendid'], 'recieveid' => $msginfo['recieveid'], 'pwd' => $pwd, 'attach' => $attach, 'msg_uid' => $msg_uid));
     $msg = new AMQPMessage($data, array('delivery_mode' => 2));
     //消息持久化
     $channel->basic_publish($msg, MQ_EXCHANGE_AMAZON);
     $channel->close();
     $connection->close();
     if ($doresult == TRUE) {
         $msgdata = array('errCode' => 10011, 'errMsg' => '操作成功!');
         echo json_encode($msgdata);
         exit;
     } else {
         $msgdata = array('errCode' => 10012, 'errMsg' => '操作失败!');
         echo json_encode($msgdata);
         exit;
     }
 }
Exemplo n.º 2
0
<?php

/*
 * Amazon邮件抓取脚本
 */
error_reporting(E_ALL);
include_once __DIR__ . '/../framework.php';
// 加载框架
Core::getInstance();
// 初始化框架对象
include_once WEB_PATH . 'lib/Get_Email.class.php';
include_once WEB_PATH . 'lib/opensys_functions.php';
$mail = new Get_Email();
$account_obj = new AmazonAccountModel();
$msg_obj = new amazonmessageModel();
$msgcat_obj = new amazonmessagecategoryModel();
$fam_obj = new FetchAmazonMessageModel();
$accounts = $account_obj->getAmazonAccountsGmail();
$path = '';
$connect = array();
$n = 0;
foreach ($accounts as $ac) {
    if ($ac['amazon_account'] != "{$argv['1']}") {
        continue;
    }
    $path = WEB_PATH . 'crontab/gmaillib/' . $ac['amazon_account'] . '/' . preg_split('/@/', $ac['gmail'])[0] . '/' . date('Y-m-d') . '/';
    $connect = $mail->mailConnect('imap.gmail.com', '993', $ac['gmail'], base64_decode($ac['password']), 'INBOX', 'ssl');
    if (!$connect) {
        die('连接失败');
    } else {
        echo "连接成功\r\n";