Publish Message Board

feature

概述 —— 双向通信系统

短消息通信系统
1、可集成在网站中做功能模块
2、可作为第三方平台,供客户进行一对多交流
3、参考自国外外包平台Elance通信模块

PMB(Publish Message Board)可嵌入到网站中作为用户之间的通信模块, 最有商业价值的一套通信系统, 售价100元
功能原理文字说明:例如有用户A和用户B
用户A通过PMB发送一个消息给用户B,用户B的PMB上收到消息,用户B的邮箱收到消息邮件
这时用户B可以选择通过PMB或者邮箱回复内容,用户A的PMB和邮箱收到用户B回复的消息。
注意;该API必须先在PMB上发消息,然后PMB和邮箱才能互通!但是并不是说不能先进行邮箱发信后再绑定到PMB, 这涉及到数据库用户表的查询,判断发送人邮箱和接收人邮箱是否存在于当前系统用户表?是否创建新用户?
而我所做的是通用型的API,并非私人订制版本,该API只有cms_master_pmb(主表)和cms_slave_pmb(从表)两张表, 用户信息取自于你当前的系统环境。

安装要求

此系统结构看似简单,对于数据表结构的把握其实还是蛮有深度的。

主机必须支持PHP的拓展IMAP,支持任务定时Cron Job。

官网主机不支持IMAP,故无法为用户演示,请用户自己在本地体验一下。

安装步骤请仔细阅读下载文件夹中的"安装步骤.txt"

文件结构示意图

发送消息

 
API介绍
api_sendpmb($from,$to,$title,$msg,$attachfile)
// $from->发送人
// $to->接收人
// $title->标题
// $msg->内容
// $attachfile->附件信息,附件名(不含路径), 多个附件用字符串'attach::attach'隔开, 例如1.zipattach::attach2.zip
 
//发送消息示例
require("./api_database.php");
require("./api_mail.php");
require("./api_sendpmb.php");
$ufrom = array(
'id'=>1,
'email'=>'xujinliang1227@126.com',
'phone' =>159222,
'firstname'=>'jin',
'lastname'=>'xu',
'organisation'=>'neteasy'
);
$uto = array(
'id'=>2,
'email'=>'youyaxyouyax@sina.cn',
'phone' =>159666,
'firstname'=>'jin2',
'lastname'=>'xu2',
'organisation'=>'sina'
);
$attachfile = '';
$rel = api_sendpmb($ufrom,$uto,'201704152115','这是一个测试内容'.md5(time()),$attachfile);
var_dump($rel);

回复消息

 
API介绍
api_replypmb($mid,$from,$msg,$attachfile);
// $mid->消息ID
// $from->发送人
// $msg->内容
// $attachfile->附件信息,附件名(不含路径), 多个附件用字符串'attach::attach'隔开, 例如1.zipattach::attach2.zip
 
//回复消息示例
require("./api_database.php");
require("./api_mail.php");
require("./api_replypmb.php");
$mid    = 10;
$ufrom   = array(
    'id' => 1,
    'email' => 'xujinliang1227@126.com',
    'phone' => 159222,
    'firstname' => 'jin',
    'lastname' => 'xu',
    'organisation' => 'neteasy'
);
$uto    = array(
    'id' => 2,
    'email'=>'youyaxyouyax@sina.cn',
    'phone' => 159666,
    'firstname' => 'jin2',
    'lastname' => 'xu2',
    'organisation' => 'sina'
);
$msg = '这是一个回复'.md5(time());
$attachfile = '';
$rel = api_replypmb($mid,$ufrom,$msg,$attachfile);
var_dump($rel);

消息列表

 
API介绍
$arr = api_listspmb($uid,$uemail,$pagesize);
// $uid->用户ID
// $uemail->用户email
// $pagesize->每页显示多少记录
//消息列表示例
require("./api_database.php");
require("./Fenye.class.php");
require("./api_listspmb.php");
$ufrom   = array(
    'id' => 1,
    'email' => 'xujinliang1227@126.com',
    'phone' => 159222,
    'firstname' => 'jin',
    'lastname' => 'xu',
    'organisation' => 'neteasy'
);
$uto    = array(
    'id' => 2,
    'email'=>'youyaxyouyax@sina.cn',
    'phone' => 159666,
    'firstname' => 'jin2',
    'lastname' => 'xu2',
    'organisation' => 'sina'
);
$uid    = $uto['id'];
$uemail = $uto['email'];
$pagesize = 10;
$arr = api_listspmb($uid,$uemail,$pagesize);
var_dump($arr);

消息浏览

 
API介绍
$arr = api_viewpmb($uid,$mid);
// $uid->用户ID
// $mid->消息ID
//消息浏览示例
require("./api_database.php");
require("./api_viewpmb.php");
$ufrom   = array(
    'id' => 1,
    'email' => 'xujinliang1227@126.com',
    'phone' => 159222,
    'firstname' => 'jin',
    'lastname' => 'xu',
    'organisation' => 'neteasy'
);
$uto    = array(
    'id' => 2,
    'email'=>'youyaxyouyax@sina.cn',
    'phone' => 159666,
    'firstname' => 'jin2',
    'lastname' => 'xu2',
    'organisation' => 'sina'
);
$mid    = 10;
$arr = api_viewpmb($uto['id'],$mid);
var_dump($arr);

关闭消息

API介绍
$rel = api_closepmb($email,$mid);
// $email->用户email
// $mid->消息ID