SUBMAIL PHP SDK


概览


SUBMAIL PHP SDK ,要求安装 CURL 扩展



下载


SUBMAIL_PHP_SDK 前往 GitHub 下载



文件目录索引


SUBMAILAutoload.php引导文件
app_config.php配置文件
libSDK 资源目录
lib/mail.php邮件 API
lib/message.php短信 API
lib/mobiledata.php手机流量 API
lib/voice.php语音 API
lib/MAILSend.phpmail/send API
lib/MAILXsend.phpmail/xsend API
lib/MESSAGEXsend.phpmessage/xsend API
lib/intersms.php国际短信 API
lib/internationalsmssend.phpinternationalsms/send API
lib/internationalsmsxsend.phpinternationalsms/xsend API
lib/internationalsmsmultixsend.phpinternationalsms/multixsend API
lib/MESSAGETemplateGET.php短信模板 GET 方法
lib/MESSAGETemplatePOST.php短信模板 POST 方法
lib/MESSAGETemplatePUT.php短信模板 PUT 方法
lib/MESSAGETemplateDELETE.php短信模板 DELETE 方法
lib/ADDRESSBOOKMail.php邮件地址簿 API
lib/ADDRESSBOOKMessage.php短信地址簿 API
lib/messagemultixsend.phpmessage/multixsend API API
lib/multi.phpmulti 创建类 API
lib/messagelog.phplog/message API API
lib/mobiledatapackage.php手机流量包获取 API
lib/mobiledatatoservice.php手机运营商查询 API
lib/mobiledatacharge.php手机流量充值 API
lib/voiceverify.php语音验证码 API
demo代码示例目录
demo/mail_send_demo.phpmail/send API 代码示例和使用指引
demo/mail_xsend_demo.phpmail/xsend API 代码示例和使用指引
demo/message_xsend_demo.phpmessage/xsend API 代码示例和使用指引
demo/message_template_get_demo.php短信模板 GET 方法 代码示例和使用指引
demo/message_template_post_demo.php短信模板 POST 方法 代码示例和使用指引
demo/message_template_put_demo.php短信模板 PUT 方法 代码示例和使用指引
demo/message_template_delete_demo.php短信模板 DELETE 方法 代码示例和使用指引
demo/addressbook_mail_subscribe.php邮件地址薄,订阅和添加联系人到目标地址薄
demo/addressbook_mail_unsubscribe.php邮件地址薄,退订和从目标地址薄移除联系人
demo/addressbook_message_subscribe.php短信地址薄,订阅和添加联系人到目标地址薄
demo/addressbook_message_unsubscribe.php短信地址薄,退订和从目标地址薄移除联系人
demo/message_multixsend_demo.phpmessage/multixsend API 代码示例和使用指引
demo/log_message_demo.phplog/message API 代码示例和使用指引
demo/mobiledata_package_demo.php手机流量包获取 API 代码示例和使用指引
demo/mobiledata_toservice_demo.php手机运营商查询 API 代码示例和使用指引
demo/mobiledata_charge_demo.php手机流量充值 API 代码示例和使用指引
demo/voice_verify_demo.php语音验证码 API 代码示例和使用指引
demo/international_sms_send_demo.php国际短信 internationalsms/send API 代码示例和使用指引
demo/international_sms_xsend_demo.php国际短信 internationalsms/xsend API 代码示例和使用指引
demo/international_sms_multixsend_demo.php国际短信 internationalsms/multixsend API 代码示例和使用指引


开始使用


引入文件


SUBMAILAutoload.php引导文件
app_config.php配置文件可选

请将以上2个文件引入到你的项目目录。并在 app_config.php 文件内填写你的 邮件或短信应用 ID和应用密匙。

require 'path/to/app_config.php';
require_once('path/to/SUBMAILAutoload.php');


SDK Class 索引


MAILSend()mail/send API
MAILXsend()mail/xsend API
MESSAGEXsend()message/xsend API
MESSAGEMultiXsend()message/multixsend API
MESSAGELog()log/message API
VOICEVerify()语音验证码 API
ADDRESSBOOKMail()邮件地址簿 API
ADDRESSBOOKMessage()短信地址簿 API


MAILSend()


初始化类
$submail=new MAILSend($mail_configs);


使用指引
方法描述示例
AddTo添加邮件地址到 To 数组,第一个必选参数:邮件地址。第二个可选参数:收件人姓名$submail->AddTo("leo@submail.cn","Leo");
AddAddressbook添加地址薄标识到 addressbook 数组$submail->AddAddressbook('subscribe');
SetSender设置发件人,第一个必选参数:邮件地址。第二个可选参数:显示名称$submail->SetSender('leo@submail.cn','Leo');
SetReply设置回复地址$submail->SetReply('leo@submail.cn');
AddCc添加抄送地址$submail->AddCc('leo@submail.cn');
AddBcc添加密送地址$submail->AddBcc('leo@submail.cn');
SetSubject设置邮件标题$submail->SetSubject('test SDK');
SetText设置文本邮件内容$submail->SetText('test SDK text');
SetHtml设置 HTML 邮件内容$submail->SetHtml('test SDK html ');
AddVar添加文本变量到 vars 数组$submail->AddVar('name','leo');
AddLink添加超链接变量到 links 数组$submail->AddLink('developer','http://submail.cn/chs/developer');
AddHeaders添加自定义邮件头指令到 headers 数组$submail->AddHeaders('X-Mailer','My App');
AddAttachment添加附件到 attachments 数组$submail->AddAttachment('/path/to/file.txt');
setAsynchronous 设置异步发送$submail->setAsynchronous(true);
send发送邮件$submail->send();


代码示例

使用 MAILSend 类提交 mail/send 发送一封简单的邮件


 <?php
require "path/to/app_config.php";
require_once("path/to/SUBMAILAutoload.php");

$submail=new MAILSend($mail_configs);
$submail->AddTo("leo@submail.cn","leo");
$submail->SetSender("no-reply@submail.cn","SUBMAIL");
$submail->SetSubject("test");
$submail->SetText("test SDK text");
$submail->SetHtml("test SDK html");
$submail->send();

//$send=$submail->send();
//print_r($send);


MAILXsend()


初始化类
$submail=new MAILXsend($mail_configs);


使用指引
方法描述示例
AddTo添加邮件地址到 To 数组,第一个必选参数:邮件地址。第二个可选参数:收件人姓名$submail->AddTo("leo@submail.cn","Leo");
AddAddressbook添加地址薄标识到 addressbook 数组$submail->AddAddressbook('subscribe');
SetSender设置发件人,第一个必选参数:邮件地址。第二个可选参数:显示名称$submail->SetSender('leo@submail.cn','Leo');
SetReply设置回复地址$submail->SetReply('leo@submail.cn');
AddCc添加抄送地址$submail->AddCc('leo@submail.cn');
AddBcc添加密送地址$submail->AddBcc('leo@submail.cn');
SetSubject设置邮件标题$submail->SetSubject('test SDK');
SetProject设置邮件项目标识$submail->SetProject('ThJBE4');
AddVar添加文本变量到 vars 数组$submail->AddVar('name','leo');
AddLink添加超链接变量到 links 数组$submail->AddLink('developer','http://submail.cn/chs/developer');
AddHeaders添加自定义邮件头指令到 headers 数组$submail->AddHeaders('X-Mailer','My App');
setAsynchronous 设置异步发送$submail->setAsynchronous(true);
xsend发送邮件$submail->xsend();


代码示例

使用 MAILXsend 类提交 mail/xsend 发送一封邮件。


 <?php
require "path/to/app_config.php";
require_once("path/to/SUBMAILAutoload.php");

$submail=new MAILXsend($mail_configs);
$submail->AddTo("leo@submail.cn","leo");
$submail->SetProject("ThJBE4");
$submail->xsend();

//$send=$submail->send();
//print_r($send);


MESSAGEXsend()


初始化类
$submail=new MESSAGEXsend($message_configs);


使用指引
方法描述示例
SetTo添加11位手机号码到 To 数组$submail->SetTo('138xxxxxxxx');
AddAddressbook添加地址薄标识到 addressbook 数组$submail->AddAddressbook('subscribe');
SetProject设置短信项目标记$submail->SetProject('xxxxxx');
AddVar添加文本变量到 vars 数组$submail->AddVar('name','leo');
xsend发送短信$submail->xsend();


代码示例

使用 MESSAGEXsend 类提交 message/xsend 发送一条触发短信。


 <?php
require "path/to/app_config.php";
require_once("path/to/SUBMAILAutoload.php");

$submail=new MESSAGEXsend($message_configs);
$submail->SetTo("138xxxxxxxx");
$submail->SetProject("kZ9Ky3");
$submail->xsend();

//$send=$submail->xsend();
//print_r($send);


MESSAGEMultiXsend()


初始化类
$submail=new MESSAGEMultiXsend($message_configs);


使用指引
方法描述示例
AddMulti添加 Multi 数组(此数组依赖 Multi() 类创建)$submail->addMulti($multi->build());
SetProject设置短信项目标记$submail->SetProject('xxxxxx');
multixsend发送短信$submail->multixsend();


代码示例

使用 MESSAGEMultiXsend 类提交 message/multixsend 发送多条短信。


 <?php
require "path/to/app_config.php";
require_once("path/to/SUBMAILAutoload.php");

$submail=new MESSAGEMultiXsend($message_configs);
$contacts=array("18*********","15*********");
foreach($contacts as $contact){
     $multi=new Multi();
     $multi->setTo($contact);
     $multi->addVar("code",rand(000000,999999));
     $submail->addMulti($multi->build());
}
$submail->SetProject("kZ9Ky3");
$submail->xsend();

//$send=$submail->xsend();
//print_r($send);


INTERNATIONALSMSXsend()


初始化类
$submail=new INTERNATIONALSMSXsend($intersms_configs);


使用指引
方法描述示例
SetTo添加手机号码到 To 数组$submail->SetTo('+18xxxxxxxx');
SetProject设置短信项目标记$submail->SetProject('xxxxxx');
AddVar添加文本变量到 vars 数组$submail->AddVar('name','leo');
xsend发送短信$submail->xsend();


代码示例

使用 INTERNATIONALSMSXsend 类提交 internationalsms/xsend 发送一条触发短信。


 <?php
require "path/to/app_config.php";
require_once("path/to/SUBMAILAutoload.php");

$submail=new INTERNATIONALSMSXsend($intersms_configs);
$submail->SetTo("+18xxxxxxxx");
$submail->SetProject("kZ9Ky3");
$submail->xsend();

//$send=$submail->xsend();
//print_r($send);


INTERNATIONALSMSMultiXsend()


初始化类
$submail=new INTERNATIONALSMSMultiXsend($intersms_configs);


使用指引
方法描述示例
AddMulti添加 Multi 数组(此数组依赖 Multi() 类创建)$submail->addMulti($multi->build());
SetProject设置短信项目标记$submail->SetProject('xxxxxx');
multixsend发送短信$submail->multixsend();


代码示例

使用 INTERNATIONALSMSMultiXsend 类提交 internationalsms/multixsend 发送多条短信。


 <?php
require "path/to/app_config.php";
require_once("path/to/SUBMAILAutoload.php");

$submail=new INTERNATIONALSMSMultiXsend($intersms_configs);
$contacts=array("+18*********","+59*********");
foreach($contacts as $contact){
     $multi=new Multi();
     $multi->setTo($contact);
     $multi->addVar("code",rand(000000,999999));
     $submail->addMulti($multi->build());
}
$submail->SetProject("kZ9Ky3");
$submail->xsend();

//$send=$submail->xsend();
//print_r($send);


MESSAGETemplateGET()


初始化类


$submail=new MESSAGETemplateGET($message_configs);


使用指引
方法描述示例
SetTemplate 设置要获取的短信模板 ID(可选)$submail->SetTemplate('AiLO2');
getTemplate获取模板列表$submail->getTemplate();


代码示例

使用 MESSAGETemplateGET 类获取短信模板列表。


 <?php
require "path/to/app_config.php";
require_once("path/to/SUBMAILAutoload.php");

$submail=new MESSAGETemplateGET($message_configs);
//$submail->SetTemplate("AiLO2");
print_r($submail->getTemplate());
 


MESSAGETemplatePOST()


初始化类
$submail=new MESSAGETemplatePOST($message_configs);


使用指引
方法描述示例
SetTitle 设置短信模板标题$submail-> SetTitle('验证码短信模板');
SetSignature 设置短信模板签名$submail->SetSignature('【SUBMAIL】');
SetContent 设置短信模板内容$submail->SetContent('您的验证码:@var(code),请在30分钟内输入,如非本人操作请忽略。');
postTemplate提交短信模板$submail->postTemplate();


代码示例

使用 MESSAGETemplatePOST 类提交短信模板。


 <?php
require "path/to/app_config.php";
require_once("path/to/SUBMAILAutoload.php");

$submail=new MESSAGETemplateGET($message_configs);
$submail->SetTemplate('验证码短信模板');
$submail->SetSignature('【SUBMAIL】');
$submail->SetContent('您的验证码:@var(code),请在30分钟内输入,如非本人操作请忽略。');
print_r($submail->postTemplate());
 


MESSAGETemplatePUT()


初始化类
$submail=new MESSAGETemplatePUT($message_configs);


使用指引
方法描述示例
SetTemplate 设置要更新的短信模板 ID(必须)$submail->SetTemplate('AiLO2');
SetTitle 设置短信模板标题$submail-> SetTitle('验证码短信模板(PUT方法测试)');
SetSignature 设置短信模板签名$submail->SetSignature('【SUBMAIL】');
SetContent 设置短信模板内容$submail->SetContent('您的验证码:@var(code),请在30分钟内输入,如非本人操作请忽略。');
putTemplate更新短信模板$submail->putTemplate();


代码示例

使用 `MESSAGETemplatePUT `类更新短信模板。


 <?php
require "path/to/app_config.php";
require_once("path/to/SUBMAILAutoload.php");

$submail=new MESSAGETemplateGET($message_configs);
$submail->SetTitle('AiLO2'); $submail->SetTitle('验证码短信模板');
$submail->SetSignature('【SUBMAIL】');
$submail->SetContent('您的验证码:@var(code),请在30分钟内输入,如非本人操作请忽略。');
print_r($submail->putTemplate());
 


MESSAGETemplateDELETE()


初始化类
$submail=new MESSAGETemplateDELETE($message_configs);


使用指引
方法描述示例
SetTemplate 设置要删除的短信模板 ID(必须)$submail->SetTemplate('AiLO2');
postTemplate提交短信模板$submail->postTemplate();


代码示例

使用 `MESSAGETemplateDELETE `类删除短信模板。


 <?php
require "path/to/app_config.php";
require_once("path/to/SUBMAILAutoload.php");

$submail=new MESSAGETemplateGET($message_configs);
$submail->SetTitle('AiLO2');
print_r($submail->deleteTemplate());
 


MOBILEDATAPackage()


初始化类
$submail=new MOBILEDATAPackage($mobiledata_configs);


使用指引
方法描述示例
package获取手机流量包$submail->package();


代码示例

使用 MOBILEDATAPackage 类获取手机流量包单价与请求标示。


 <?php
require "path/to/app_config.php";
require_once("path/to/SUBMAILAutoload.php");
$package=$submail->package();
//print_r($package);


MOBILEDATATOService()


初始化类
$submail=new MOBILEDATATOService($mobiledata_configs);


使用指引
方法描述示例
AddTo添加需要查询的的11位手机号$submail->AddTo('15xxxxxxxxx');
AddAddressbook添加需要查询的地址比标示$submail->AddAddressbook('subscribe');
TOService发起运营商查询请求$submail->TOService();


代码示例

使用 MOBILEDATATOService 类提交查询运营商分类。


 <?php
require "path/to/app_config.php";
require_once("path/to/SUBMAILAutoload.php");

$submail=new MOBILEDATATOService($mobiledata_configs);
$submail->AddTo('13*********');
$submail->AddAddressbook('subscribe');
$TOService=$submail->TOService();
print_r($TOService);


MOBILEDATACharge()


初始化类
$submail=new MOBILEDATACharge($mobiledata_configs);


使用指引
方法描述示例
SetCM设置移动号段手机流量包标示$submail->SetCM('cm10');
SetCU设置联通号段手机流量包标示$submail->SetCU('cu20');
SetCT设置电信号段手机流量包标示$submail->SetCT('ct10');
AddTo添加需要查询的的11位手机号$submail->AddTo('15xxxxxxxxx');
AddAddressbook添加需要查询的地址比标示$submail->AddAddressbook('subscribe');
TOService发起流量充值请求$submail->charge();


代码示例

使用 MOBILEDATACharge 类提交手机充值请求。


 <?php
require "path/to/app_config.php";
require_once("path/to/SUBMAILAutoload.php");

$submail=new MOBILEDATACharge($mobiledata_configs);
$submail->SetCM('cm10');
$submail->AddTo('138********');
$submail->AddAddressbook('subscribe');
$charge=$submail->charge();
print_r($charge);


VOICEXsend()


初始化类
$submail=new VOICEXsend($voice_configs);


使用指引
方法描述示例
SetTo添加11位手机号码到 To 数组$submail->SetTo('138xxxxxxxx');
AddAddressbook添加地址薄标识到 addressbook 数组$submail->AddAddressbook('subscribe');
SetProject设置语音项目标记$submail->SetProject('xxxxxx');
AddVar添加文本变量到 vars 数组$submail->AddVar('name','leo');
xsend提交语音呼叫$submail->xsend();


代码示例


使用 VOICEXsend 类提交 voice/xsend 发送一条触发短信。


 <?php
require "path/to/app_config.php";
require_once("path/to/SUBMAILAutoload.php");

$submail=new VOICEXsend($voice_configs);
$submail->SetTo("138xxxxxxxx");
$submail->SetProject("kZ9Ky3");
$submail->xsend();

//$send=$submail->xsend();
//print_r($send);


VOICESend()


初始化类
$submail=new VOICESend($voice_configs);


使用指引
方法描述示例
SetTo添加11位手机号码到 To 数组$submail->SetTo('138xxxxxxxx');
AddAddressbook添加地址薄标识到 addressbook 数组$submail->AddAddressbook('subscribe');
SetProject设置语音项目标记$submail->SetProject('xxxxxx');
SetContent提交语音通知内容$submail->SetContent('亲爱的顾客,快递员:xxx,因无法进入单元,已将您的快递包裹送至您小区的物业,请您及时取回,感谢您的惠顾');
xsend提交语音呼叫$submail->xsend();


代码示例

使用 VOICEXsend 类提交 voice/send 发送一条触发短信。


 <?php
require "path/to/app_config.php";
require_once("path/to/SUBMAILAutoload.php");

$submail=new VOICESend($voice_configs);
$submail->SetTo("138xxxxxxxx");
$submail->SetProject("kZ9Ky3");
$submail->SetContent('亲爱的顾客,快递员:xxx,因无法进入单元,已将您的快递包裹送至您小区的物业,请您及时取回,感谢您的惠顾');
$submail->send();

//$send=$submail->send();
//print_r($send);


VoiceMultiXsend()


初始化类
$submail=new VOICEMultiXsend($voice_configs);


使用指引
方法描述示例
AddMulti添加 Multi 数组(此数组依赖 Multi() 类创建)$submail->addMulti($multi->build());
SetProject设置语音项目标记$submail->SetProject('xxxxxx');
multixsend提交语音呼叫$submail->multixsend();


代码示例

使用 VOICEMultiXsend 类提交 voice/multixsend 发送多次语音通知。


 <?php
require "path/to/app_config.php";
require_once("path/to/SUBMAILAutoload.php");

$submail=new VOICEMultiXsend($voice_configs);
$contacts=array("18*********","15*********");
foreach($contacts as $contact){
     $multi=new Multi();
     $multi->setTo($contact);
     $multi->addVar("code",rand(000000,999999));
     $submail->addMulti($multi->build());
}
$submail->SetProject("kZ9Ky3");
$submail->multixsend();

//$send=$submail->multixsend();
//print_r($send);


VOICEVerify()


初始化类
$submail=new VOICEVerify($voice_configs);


使用指引
方法描述示例
setTo设置呼叫的11位手机号$submail->setTo('15xxxxxxxxx');
setCode设置语音播报的4位数字验证码$submail->setCode('1234');
verify发送语音验证码$submail->verify();


代码示例

使用 VOICEVerify 类提交 voice/verify 发送语音验证码。


 <?php
require "path/to/app_config.php";
require_once("path/to/SUBMAILAutoload.php");

$submail=new VOICEVerify($voice_configs);
$submail->SetTo("15xxxxxxxxx");
$submail->SetCode("1234");
$submail->verify();

//$verify=$submail->verify();
//print_r($verify);


ADDRESSBOOKMail()


初始化类
$addressbook=new ADDRESSBOOKMail($mail_configs);


使用指引
方法描述示例
SetAddress设置邮件地址,第一个必选参数:邮件地址。第二个可选参数:收件人姓名$addressbook->SetAddress("leo@submail.cn","Leo");
SetAddressbook设置目标地址薄标识$addressbook->SetAddressbook('subscribe')
subscribe订阅或添加联系人$addressbook->subscribe();
unsubscribe退订或移除联系人$addressbook->unsubscribe();


代码示例

使用 ADDRESSBOOKMail 类提交 addressbook/mail/subscribe 请求,添加订阅联系人或向目标地址薄中添加联系人


 <?php
require "path/to/app_config.php";
require_once("path/to/SUBMAILAutoload.php");

$addressbook=new ADDRESSBOOKMail($mail_configs);
$addressbook->SetAddress("leo@submail.cn","leo");
$addressbook->SetAddressbook("subscribe");
$addressbook->subscribe();

//$subscribe=$addressbook->subscribe();
//print_r($subscribe);

使用 ADDRESSBOOKMail 类 发送 addressbook/mail/unsubscribe 请求,添加退订联系人或从目标地址薄中移除联系人


 <?php
require "path/to/app_config.php";
require_once("path/to/SUBMAILAutoload.php");

$addressbook=new ADDRESSBOOKMail($mail_configs);
$addressbook->SetAddress("leo@submail.cn","leo");
$addressbook->SetAddressbook("unsubscribe");
$addressbook->unsubscribe();

//$unsubscribe=$addressbook->unsubscribe();
//print_r($unsubscribe);


ADDRESSBOOKMessage()


初始化类
$addressbook=new ADDRESSBOOKMessage($message_configs);


使用指引
方法描述示例
SetAddress设置联系人11位手机号码$addressbook->SetAddress('138xxxxxxxx');
SetAddressbook设置目标地址薄标识$addressbook->SetAddressbook('subscribe')
subscribe订阅或添加联系人$addressbook->subscribe();
unsubscribe退订或移除联系人$addressbook->unsubscribe();


代码示例

使用 ADDRESSBOOKMessage 类 发送 addressbook/message/subscribe 请求,添加订阅联系人或向目标地址薄中添加联系人。


 <?php
require "path/to/app_config.php";
require_once("path/to/SUBMAILAutoload.php");

$addressbook=new ADDRESSBOOKMessage($message_configs);
$addressbook->SetAddress("138xxxxxxxx");
$addressbook->SetAddressbook("subscribe");
$addressbook->subscribe();

//$subscribe=$addressbook->subscribe();
//print_r($subscribe);

使用 ADDRESSBOOKMessage 类发送 addressbook/message/unsubscribe 请求,添加退订联系人或从目标地址薄中移除联系人。


 <?php
require "path/to/app_config.php";
require_once("path/to/SUBMAILAutoload.php");

$addressbook=new ADDRESSBOOKMessage($message_configs);
$addressbook->SetAddress("138xxxxxxxx");
$addressbook->SetAddressbook("unsubscribe");
$addressbook->unsubscribe();

//$unsubscribe=$addressbook->unsubscribe();
//print_r($unsubscribe);