cafe24 sms 호스팅을 이용한 문자(sms) 보내기 하드코딩 정보
cafe24 sms 호스팅을 이용한 문자(sms) 보내기 하드코딩본문
안녕하세요?
그누보드 가 좋아서 사용을 하지만, 처음 올려보는 팁입니다.
별거 없고, cafe24 sms 호스팅 광고도 아닙니다.
누가 먼저 올려서 그걸 먼저 참고하고, 그냥 하드 코딩 몇줄 한거 뿐입니다....
병의원에서 온라인 예약 및 온라인 상담시 , 온라인 상담 답변시 cafe24 sms 호스팅을 이용하여
문자(sms)가 가도록 하드코딩 했습니다.
1. /lib/common.lib.php 파일에 아래와 같이 합니다.
<?
if (!defined('_GNUBOARD_')) exit;
/*************************************************************************
**
** 일반 함수 모음
**
*************************************************************************/
//class nice_sms{
//public static function send_sms($rphone, $sphone1, $sphone2, $sphone3,$msg){
function send_sms($rphone, $sphone1, $sphone2, $sphone3,$msg){
/******************** 인증정보 ********************/
$sms_url = "http://sslsms.cafe24.com/sms_sender.php"; // 전송요청 URL
// $sms_url = "https://sslsms.cafe24.com/sms_sender.php"; // HTTPS 전송요청 URL
$sms['user_id'] = base64_encode("신청한 sms아이디"); //SMS 아이디.
$sms['secure'] = base64_encode("발행 인증키") ;//인증키
$sms['msg'] = base64_encode(stripslashes($msg));
$sms['rphone'] = base64_encode($rphone);
$sms['sphone1'] = base64_encode($sphone1);
$sms['sphone2'] = base64_encode($sphone2);
$sms['sphone3'] = base64_encode($sphone3);
$sms['rdate'] = base64_encode('');
$sms['rtime'] = base64_encode('');
$sms['mode'] = base64_encode("1"); // base64 사용시 반드시 모드값을 1로 주셔야 합니다.
$sms['returnurl'] = base64_encode('');
$sms['testflag'] = base64_encode('');
$sms['destination'] = base64_encode('');
//$returnurl = $_POST['returnurl'];
$returnurl='';
$sms['repeatFlag'] = base64_encode('1');
$sms['repeatNum'] = base64_encode('1');
$sms['repeatTime'] = base64_encode('1');
$nointeractive = 1; //사용할 경우 : 1, 성공시 대화상자(alert)를 생략
$host_info = explode("/", $sms_url);
$host = $host_info[2];
$path = $host_info[3]."/".$host_info[4];
srand((double)microtime()*1000000);
$boundary = "---------------------".substr(md5(rand(0,32000)),0,10);
//print_r($sms);
// 헤더 생성
$header = "POST /".$path ." HTTP/1.0\r\n";
$header .= "Host: ".$host."\r\n";
$header .= "Content-type: multipart/form-data, boundary=".$boundary."\r\n";
// 본문 생성
foreach($sms AS $index => $value){
$data .="--$boundary\r\n";
$data .= "Content-Disposition: form-data; name=\"".$index."\"\r\n";
$data .= "\r\n".$value."\r\n";
$data .="--$boundary\r\n";
}
$header .= "Content-length: " . strlen($data) . "\r\n\r\n";
$fp = fsockopen($host, 80);
if ($fp) {
fputs($fp, $header.$data);
$rsp = '';
while(!feof($fp)) {
$rsp .= fgets($fp,8192);
}
fclose($fp);
$msg = explode("\r\n\r\n",trim($rsp));
$rMsg = explode(",", $msg[1]);
$Result= $rMsg[0]; //발송결과
$Count= $rMsg[1]; //잔여건수
//발송결과 알림
if($Result=="success") {
$alert = "성공";
$alert .= " 잔여건수는 ".$Count."건 입니다.";
}
else if($Result=="reserved") {
$alert = "성공적으로 예약되었습니다.";
$alert .= " 잔여건수는 ".$Count."건 입니다.";
}
else if($Result=="3205") {
$alert = "잘못된 번호형식입니다.";
}
else if($Result=="0044") {
$alert = "스팸문자는발송되지 않습니다.";
}
else {
$alert = "[Error]".$Result;
}
}
else {
$alert = "Connection Failed";
}
//echo $alert;
//exit;
/*
if($nointeractive=="1" && ($Result!="success" && $Result!="Test Success!" && $Result!="reserved") ) {
echo "<script>alert('".$alert ."')</script>";
}
else if($nointeractive!="1") {
echo "<script>alert('".$alert ."')</script>";
}
echo "<script>location.href='".$returnurl."';</script>";
*/
}
//}
2. bbs/wirte_update.php 파일에 다음과 같이 코딩합니다.
<?
$g4[title] = $wr_subject . "글입력";
include_once("./_common.php");
@include_once("$board_skin_path/write_update.head.skin.php");
include_once("$g4[path]/lib/trackback.lib.php");
//연락가능한 전화번호2
$wr_4 = "$ext4_00-$ext4_01-$ext4_02";
$sql4 = " update $write_table set wr_4 = '$wr_4' where wr_id = '$wr_id' ";
sql_query($sql4);
$wr_41 = "$ext4_00$ext4_01$ext4_02";
$sms_user = "안녕하세요*^^*{$wr_name}님 **병의원에 온라인 상담 예약이 등록되었습니다."; // 글올린이에게 보낼메세지
$sms_user1 = "{$wr_name}님 ** 병의원에 온라인 상담 예약 되었습니다. 상담 답변 바랍니다."; // 운영자에게 보낼메세지
//send_sms('*** 개인정보보호를 위한 휴대폰번호 노출방지 ***','*** 개인정보보호를 위한 휴대폰번호 노출방지 ***',$sms_user); //받는번호(-없이 붙여서 *** 개인정보보호를 위한 휴대폰번호 노출방지 ***),운영자 보낸번호 ('*** 개인정보보호를 위한 휴대폰번호 노출방지 ***' 로 구분)
//send_sms($member['mb_hp'],'*** 개인정보보호를 위한 휴대폰번호 노출방지 ***',$sms_user);
//send_sms($member['mb_hp'],'*** 개인정보보호를 위한 휴대폰번호 노출방지 ***',$sms_user); //회원에게 문자 발송
//send_sms($wr_41,'*** 개인정보보호를 위한 휴대폰번호 노출방지 ***',$sms_user); //회원에게 문자 발송
send_sms('*** 개인정보보호를 위한 휴대폰번호 노출방지 ***',$ext4_00,$ext4_01,$ext4_02,$sms_user1); //운영자에게 문자 발송
3. 답변시는 bbs/write_comment_update.php
<?
include_once("./_common.php");
@include_once("$board_skin_path/write_comment_update.head.skin.php");
$g4[title] = $wr_subject . "코멘트입력";
$w = $_POST["w"];
$wr_name = strip_tags($_POST["wr_name"]);
$wr_email = strip_tags($_POST["wr_email"]);
$wr_41 = strip_tags($_POST["wr_4"]);
//됩니다.
$wr_41=eregi_replace("-","",$wr_4); // - 를 ""로 바꿈
$sms_user = "안녕하세요*^^* {$wr_name}님 xx병의원에 온라인 상담 예약 답변이 등록되었습니다."; // 글올린이에게 보낼메세지
//$sms_user1 = "{$wr_name}님 **병의원에 온라인 상담 예약 되었습니다. 상담답변 바랍니다."; // 운영자에게 보낼메세지
//send_sms('*** 개인정보보호를 위한 휴대폰번호 노출방지 ***','*** 개인정보보호를 위한 휴대폰번호 노출방지 ***',$sms_user);
send_sms($wr_41,'*** 개인정보보호를 위한 휴대폰번호 노출방지 ***',$sms_user);
//send_sms($member['mb_hp'],'*** 개인정보보호를 위한 휴대폰번호 노출방지 ***',$sms_user);
//send_sms($member['mb_hp'],'*** 개인정보보호를 위한 휴대폰번호 노출방지 ***',$sms_user); //회원에게 문자 발송
//send_sms($wr_41,'*** 개인정보보호를 위한 휴대폰번호 노출방지 ***',$sms_user); //회원에게 문자 발송
//send_sms('*** 개인정보보호를 위한 휴대폰번호 노출방지 ***',$ext4_00,$ext4_01,$ext4_02,$sms_user1); //운영자에게 문자 발송
4
댓글 3개
잔여건수까지 확인할 수 있는 것을 보니 새로 한번 업데이트 해야겠네요...