PHP 做群发短信(短信接口连接问题)

news/2024/10/30 21:32:37/

首先写个方法:

function sendSMS($http,$username,$password,$sendmobile,$send_content){
   $httpurl = $http;
   $data = array
    (
    'USERNAME'=>$username,     //用户账号
    'PASSWORD'=>$password, //用户密码
    'MOBILE'=>$sendmobile,    //号码
    'CONTENT'=> mb_convert_encoding($send_content,'GB2312','UTF-8'), //内容
    );
   $re= $this->postSMS($httpurl,$data);   //POST方式提交
   if(trim($re)>0)
   {
    return "success";
   }
   else
   {
    return "error";
   }
}
 function postSMS($httpurl,$data=''){
 $row = parse_url($httpurl);
 $host = $row['host'];
 $port = isset($row['port']) ? $row['port']:80;
 $file = $row['path'];
 $post = '';
 while (list($k,$v) = each($data))
 {
  $post .= ($k)."=".($v)."&"; 
 }
 $post = substr($post,0 ,-1);
 $len = strlen($post);
 
 $fp = @fsockopen( $host ,$port, $errno, $errstr, 10);
 if (!$fp) {
  return "$errstr ($errno)\n";
  }else {
  $receive = '';
  $out = "POST $file HTTP/1.1\r\n";
  $out .= "Host: $host\r\n";
  $out .= "Content-type: application/x-www-form-urlencoded\r\n";
  $out .= "Connection: Close\r\n";
  $out .= "Content-Length: $len\r\n\r\n";
  $out .= $post; 
  fwrite($fp, $out);
  while (!feof($fp)) {
   $receive .= fgets($fp,128);
  }
  fclose($fp);
  $receive = explode("\r\n\r\n",$receive);
  unset($receive[0]);
  return implode("",$receive);
 }
}

 

 

 

 

PHP处理页面

 

$sendmobile = isset($_POST['mobile']) ? trim($_POST['mobile']) : '';
 $hm_arr = explode(',', $sendmobile);
 $sendtime = isset($time) ? strtotime($time) : $systime;
 $sendcontent = isset($_POST['contentname']) ? trim($_POST['contentname']) : '';
 $sendstatus = 1;
 $sendsign = isset($_POST['sendsign']) ? trim($_POST['sendsign']) : '';
 $send_content = $sendcontent.'  --'.$sendsign;
 $httpurl = $sms_config['httpurl'];
 $username = $sms_config['username'];
 $password = $sms_config['password'];
 $balance_info = $balance->GetBlanceInfo($uid);
 $balance_sy = $balance_info['balance_info']-$balance_info['rate'];
 $rate = $balance_info['rate'];
 if($balance_sy > $rate){
 $hp = $balance->sendSMS($httpurl,$username,$password,$sendmobile,preg_replace('/\s+/','%20',$send_content));
 if($hp == 'success'){
    $sql_c = "update {$tablepre}sms_info set balance_info = '$balance_sy',amount = amount+'1' where userid = '$uid'";
    $rs = $db->query($sql_c);
    $sql_s = "update {$tablepre}company set corpname = '$sendsign' where userid = '$uid'";
    $rs_s = $db->query($sql_s);
    $sql = "insert into {$tablepre}sms_log (sendmobile,userid,sendtime,sendcontent,sendtype,sendstatus,sendmoney) values ('$sendmobile','$uid','$sendtime','$sendcontent','$sendtype','$sendstatus','$rate')";
    $rs = $db->query($sql);
    header("location:index.php?c=sigle_send_mess&s=1");
    }else{
    header("location:index.php?c=sigle_send_mess&s=2");
 }
   }else{
     header("location:index.php?c=sigle_send_mess&s=3");
    }

 


http://www.ppmy.cn/news/312091.html

相关文章

JAVA利用飞信接口发送短信【已经失效】

飞信接口地址:http://w.ibtf.net/f.php Fetion工具类: package cpsa3.pack.util;import java.io.IOException; import org.apache.commons.httpclient.Header; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.…

短信宝接入发送短信实测 Java

1丶注册短信宝 2 代码分为授权跟参数实体 授权实体 Data public class SmsBaoAuthorization {//http://api.smsbao.com/sms private String url;//在短信宝注册的用户名private String username;//在短信宝注册的密码 private String password; } 参数实体 Data pub…

飞信好友发短信

网上看到有网页版的飞信,http://fetionlib.appspot.com/可以添加好友,群发和定时发送短信给飞信好友,还开放了API接口供程序调用,可以用它来监控机器是否正常服务定期给管理员发短信,或者小规模的网站给会员发短信之类…

电信smgp3.0短信发送问题

smgp3.0短信 问题,返回错误码46 怎么解决 从网上下载的smgp的jar ,最终返回的status错误码是46 非法的发送方号码 ,求教怎么解决 SMGP3 smgp new SMGP3(); int socketID smgp.SMGP_Connect("135.0.69.90", 8891, "MSSFXPT&…

Python自动发短信

摘要:最近开发微信自动回复小程序,需要用到一个好友发消息自动短信通知我的功能,因此写了这个程序。主要使用Twilio网站提供的短信功能。 实现起来也是非常方便的。 作者博客地址:http://www.yooongchun.cn/ 首先到官网申请账号&a…

用计算机发短信,怎样发短信的步骤_教你如何使用电脑发短信!

",1)"> 教你如何使用电脑发短信! 今天我教大家一招怎样通过电脑跟别人收发信息。 首先我要说明几点 1我今天告诉大家的方法可以同时在电脑上收发信息也就是跟聊QQ一样的和别人发短信不需要触摸手机了~!超级方便 2发短信产生的费用跟你使用手机产生的费用一样也就是…

互发短信之SmsManager

短信管理器 : SmsManager 1. 在 Android 2.0 以前 应该使用 android.telephony.gsm.SmsManager 之后应该用 android.telephony.SmsManager; 2. 获取系统默认的短信管理器 SmsManager smsManager SmsManager.getDefault(); 3. 按照每条短信最大字数来拆分短信 …

tp6个人实现短信发送注册

public function loginDo() {$data input();$codeCache::get($data[tel]);//用表单输入的验证码做对比if ($code ! $data[code]) {return json([code > 500, msg > 验证码错误, data > ]);}$data[name]input(tel);$data[pwd]123456;\app\admin\model\User::create($d…