这里会显示出您选择的修订版和当前版本之间的差别。
| 后一修订版 | 前一修订版 | ||
| zh:实际案例指导:astercc支持的sms供应商列表 [2015/02/16 04:06] – 创建 liuxl | zh:实际案例指导:astercc支持的sms供应商列表 [2015/09/15 09:14] (当前版本) – [短信服务器的配置] liuxl | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| - | ======astercc支持的SMS供应商列表====== | + | ======astercc支持的短信(SMS)供应商列表====== |
| - | ====短信服务器的坐席工作界面介绍==== | + | =====短信服务器的坐席工作界面介绍===== |
| 为系统或团队添加短信服务器(核心: | 为系统或团队添加短信服务器(核心: | ||
| 行 13: | 行 13: | ||
| {{: | {{: | ||
| - | ====短信服务器的配置==== | + | ===== 配置短信服务器 |
| 点击[添加]按钮, | 点击[添加]按钮, | ||
| 行 43: | 行 43: | ||
| </ | </ | ||
| + | |||
| + | =====短信供应商的四种配置方法===== | ||
| + | ====使用系统自带SMS供应商发送短信==== | ||
| + | 在上面“短信服务器的配置”一节中可知道,系统自带sms服务器供应商是:上海希奥信息科技有限公司。只需购买上海希奥的帐号密码,点击[群发信息管理]-> | ||
| + | |||
| + | {{: | ||
| + | |||
| + | ====使用串口短信猫发送短信==== | ||
| + | 详情请阅读:[[zh: | ||
| + | |||
| + | ====使用系统列表内SMS供应商发送短信==== | ||
| + | 首先登录服务器,登录后查看短信供应商列表,我们会看到有: | ||
| + | 1.驿家365短信供应商(eaka365) | ||
| + | 2.亿美短信供应商 | ||
| + | 3.瑞特维短信供应商 | ||
| + | 4.点点客短信供应商 | ||
| + | ... ... | ||
| + | < | ||
| + | 如果选择以上列表短信供应商的客户,只需将 [供应商、供应商提供的帐号(或序号)、密码],填写到相应位置。 | ||
| + | |||
| + | #### | ||
| + | < | ||
| + | sub sms_eaka{ | ||
| + | my $smsStuff = shift; | ||
| + | |||
| + | $query = " | ||
| + | & | ||
| + | |||
| + | my $nsPrefix = ' | ||
| + | my $softwareSerialNo = ' | ||
| + | my $serialpass = ' | ||
| + | my $key = ' | ||
| + | my $sendTime = ''; | ||
| + | my $mobiles = $smsStuff-> | ||
| + | my $smsContent = $batchcontact_archive_list{$smsStuff-> | ||
| + | my $addSerial = ''; | ||
| + | my $srcCharset = ' | ||
| + | my $smsPriority = 5; | ||
| + | my $xmldata = '<? | ||
| + | my $response | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ); | ||
| + | my $response_content = $response-> | ||
| + | my $response_code = XMLin($response_content); | ||
| + | my $refcode = $response_code-> | ||
| + | |||
| + | & | ||
| + | |||
| + | if($refcode eq " | ||
| + | # success | ||
| + | $query = " | ||
| + | }else{ | ||
| + | # falied | ||
| + | $query = " | ||
| + | } | ||
| + | |||
| + | & | ||
| + | return; | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | #### | ||
| + | < | ||
| + | sub sms_yimei { | ||
| + | my $smsStuff = shift; | ||
| + | |||
| + | $query = " | ||
| + | & | ||
| + | |||
| + | my $nsPrefix = ' | ||
| + | my $softwareSerialNo = ' | ||
| + | my $serialpass = ' | ||
| + | my $key = ' | ||
| + | my $sendTime = ''; | ||
| + | my $mobiles = $smsStuff-> | ||
| + | my $smsContent = $batchcontact_archive_list{$smsStuff-> | ||
| + | my $addSerial = ''; | ||
| + | my $srcCharset = ' | ||
| + | my $smsPriority = 5; | ||
| + | my $xmldata = '<? | ||
| + | my $response | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ); | ||
| + | my $response_content = $response-> | ||
| + | my $response_code = XMLin($response_content); | ||
| + | my $refcode = $response_code-> | ||
| + | |||
| + | & | ||
| + | |||
| + | if($refcode eq " | ||
| + | # success | ||
| + | $query = " | ||
| + | }else{ | ||
| + | # falied | ||
| + | $query = " | ||
| + | } | ||
| + | |||
| + | & | ||
| + | |||
| + | return; | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | |||
| + | #### | ||
| + | < | ||
| + | sub sms_dnhttp { | ||
| + | my $smsStuff = shift; | ||
| + | my $message = $batchcontact_archive_list{$smsStuff-> | ||
| + | #老版本 | ||
| + | #my $serialNu = ' | ||
| + | #my $serialpw = ' | ||
| + | #my $billcode1 = ' | ||
| + | #my $billcode2 = ' | ||
| + | |||
| + | #修正 | ||
| + | my $serialNu = ' | ||
| + | my $serialpw = ' | ||
| + | my $billcode1 = ' | ||
| + | my $billcode2 = ' | ||
| + | my $numberCount = 1;#条数 | ||
| + | | ||
| + | # | ||
| + | my $audit_response | ||
| + | { | ||
| + | serialNu | ||
| + | serialpw | ||
| + | smcontent | ||
| + | numberCount => $numberCount, | ||
| + | billcode | ||
| + | } | ||
| + | ); | ||
| + | my $auditId = $audit_response-> | ||
| + | |||
| + | & | ||
| + | |||
| + | if ($auditId > 0) { | ||
| + | # | ||
| + | my $send_response | ||
| + | { | ||
| + | phonenumber => $smsStuff-> | ||
| + | smscontent | ||
| + | billcode | ||
| + | seqno => $serialNu, | ||
| + | sendtime | ||
| + | oldpw => $serialpw, | ||
| + | auditId | ||
| + | } | ||
| + | ); | ||
| + | my $backmsg = $send_response-> | ||
| + | |||
| + | & | ||
| + | if($backmsg eq " | ||
| + | # success | ||
| + | $query = " | ||
| + | }else{ | ||
| + | # falied | ||
| + | $query = " | ||
| + | } | ||
| + | }else{ | ||
| + | # falied | ||
| + | $query = " | ||
| + | } | ||
| + | & | ||
| + | return; | ||
| + | } | ||
| + | |||
| + | </ | ||
| + | |||
| + | |||
| + | #### | ||
| + | < | ||
| + | sub sms_whhttp { | ||
| + | my $smsStuff = shift; | ||
| + | my $msgContent = $batchcontact_archive_list{$smsStuff-> | ||
| + | my $userName = ' | ||
| + | my $idType = 1;#明文 | ||
| + | my $idString = ' | ||
| + | my $sendTime = '';# | ||
| + | my $destNumber = $smsStuff-> | ||
| + | |||
| + | # | ||
| + | my $send_response | ||
| + | { | ||
| + | userName | ||
| + | idType | ||
| + | idString | ||
| + | msgContent | ||
| + | destNumber | ||
| + | sendTime | ||
| + | } | ||
| + | ); | ||
| + | |||
| + | my $backmsg = $send_response-> | ||
| + | my $xmlmsg = XMLin($backmsg); | ||
| + | my @resary = split("," | ||
| + | my $backcode = $resary[0]; | ||
| + | |||
| + | & | ||
| + | |||
| + | if($backcode eq " | ||
| + | # succ | ||
| + | $query = " | ||
| + | }else{ | ||
| + | # err | ||
| + | $query = " | ||
| + | } | ||
| + | & | ||
| + | |||
| + | return; | ||
| + | } | ||
| + | sub debug{ | ||
| + | my $message = shift; | ||
| + | my $time=scalar localtime; | ||
| + | if ($debug > 0) { | ||
| + | open (HDW,">> | ||
| + | print HDW $time," | ||
| + | close HDW; | ||
| + | if ($ARGV[0] eq ' | ||
| + | |||
| + | }else{ | ||
| + | print $time," | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | |||
| + | sub trim($) | ||
| + | { | ||
| + | my $string = shift; | ||
| + | $string =~ s/^\s+//; | ||
| + | $string =~ s/\s+$//; | ||
| + | return $string; | ||
| + | } | ||
| + | |||
| + | sub become_daemon { | ||
| + | die " | ||
| + | exit 0 if $child;# | ||
| + | setsid(); | ||
| + | open( STDIN, "</ | ||
| + | open( STDOUT, ">/ | ||
| + | open( STDERR, ">& | ||
| + | |||
| + | $SIG{__WARN__} = sub { | ||
| + | &debug (" | ||
| + | }; | ||
| + | |||
| + | $SIG{__DIE__} = sub { | ||
| + | &debug (" | ||
| + | unlink $pidFile; | ||
| + | exit; | ||
| + | }; | ||
| + | |||
| + | $SIG{HUP} = $SIG{INT} = $SIG{TERM} = sub { | ||
| + | # Any sort of death trigger results in death of all | ||
| + | my $sig = shift; | ||
| + | $SIG{$sig} = ' | ||
| + | die " | ||
| + | exit; | ||
| + | }; | ||
| + | |||
| + | umask(0); | ||
| + | #$ENV{PATH} = '/ | ||
| + | return $$; | ||
| + | } | ||
| + | sub connect_mysql | ||
| + | { | ||
| + | my %info = @_; | ||
| + | my $dbh = DBI-> | ||
| + | return($dbh); | ||
| + | } | ||
| + | |||
| + | sub executeQuery | ||
| + | { | ||
| + | my $query = shift; | ||
| + | return if ($query eq '' | ||
| + | |||
| + | my $queryType = shift; | ||
| + | |||
| + | if (!$dbh-> | ||
| + | & | ||
| + | $dbh = & | ||
| + | } | ||
| + | if ($debug > 10 && $internal_debug >0) { | ||
| + | & | ||
| + | } | ||
| + | $dbh-> | ||
| + | if ($queryType eq '' | ||
| + | my $affect = $dbh-> | ||
| + | if ($affect eq ' | ||
| + | return 0; | ||
| + | }else{ | ||
| + | return $affect; | ||
| + | } | ||
| + | }elsif ($queryType eq ' | ||
| + | my $rows = $dbh-> | ||
| + | $rows-> | ||
| + | return $rows; | ||
| + | }elsif ($queryType eq ' | ||
| + | $dbh-> | ||
| + | return $dbh-> | ||
| + | } | ||
| + | } | ||
| + | |||
| + | </ | ||
| + | ====使用第三方短信平台发送短信==== | ||
| + | 详情请阅读:[[zh: | ||
| + | |||