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개
잔여건수까지 확인할 수 있는 것을 보니 새로 한번 업데이트 해야겠네요...