这里会显示出您选择的修订版和当前版本之间的差别。
| 两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
| zh:实际案例指导:astercc支持的sms供应商列表 [2015/03/03 07:20] – [使用系统列表内SMS供应商发送短信] liuxl | zh:实际案例指导:astercc支持的sms供应商列表 [2015/09/15 09:14] (当前版本) – [短信服务器的配置] liuxl | ||
|---|---|---|---|
| 行 13: | 行 13: | ||
| {{: | {{: | ||
| - | =====短信服务器的配置===== | + | ===== 配置短信服务器 ===== |
| 点击[添加]按钮, | 点击[添加]按钮, | ||
| 行 61: | 行 61: | ||
| ... ... | ... ... | ||
| < | < | ||
| - | 如果选择以上列表短信供应商的客户,只需将 [供应商、供应商提供的帐号、密码],填写到相应位置。 | + | 如果选择以上列表短信供应商的客户,只需将 [供应商、供应商提供的帐号(或序号)、密码],填写到相应位置。 |
| - | #### | + | #### |
| < | < | ||
| sub sms_eaka{ | sub sms_eaka{ | ||
| 行 108: | 行 108: | ||
| </ | </ | ||
| + | #### | ||
| + | < | ||
| + | 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: | 详情请阅读:[[zh: | ||