게시물올라올때 sms전송 방법 (cafe24 sms) 정보
게시물올라올때 sms전송 방법 (cafe24 sms)본문
간혹 게시물이 올라올때 sms로 받아보거나 해야 하는경우가 있는데
아래 함수부분을
lib/common.lib.php 안에다가 넣어주시고
sms 받고자 하는 게시물 스킨폴더안에
write_update.skin.php 파일에다가
<?
if($w=="")
{
send_sms("이용후기가 작성되었습니다.","받으실전화번호");
}
?>
이런식으로 사용 하시면 됩니다.
조건에 따라 측정 bo_table 일때만 받아볼수도 있고 제목을 전송하게끔도 활용 가능하겠습니다.
<code>
function send_sms($msg,$phone)
{
$rphone = $phone;
$sphone = explode("-","보내는 전화번호");
/******************** 인증정보 ********************/
$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($sphone[0]);
$sms['sphone2'] = base64_encode($sphone[1]);
$sms['sphone3'] = base64_encode($sphone[2]);
$sms['rdate'] = "";
$sms['rtime'] = "";
$sms['mode'] = base64_encode("1"); // base64 사용시 반드시 모드값을 1로 주셔야 합니다.
$sms['returnurl'] = "";
$sms['testflag'] = "";
$sms['destination'] = "";
$returnurl = "";
$sms['repeatFlag'] = "";
$sms['repeatNum'] = "";
$sms['repeatTime'] = "";
$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";
}
}
</code>
아래 함수부분을
lib/common.lib.php 안에다가 넣어주시고
sms 받고자 하는 게시물 스킨폴더안에
write_update.skin.php 파일에다가
<?
if($w=="")
{
send_sms("이용후기가 작성되었습니다.","받으실전화번호");
}
?>
이런식으로 사용 하시면 됩니다.
조건에 따라 측정 bo_table 일때만 받아볼수도 있고 제목을 전송하게끔도 활용 가능하겠습니다.
<code>
function send_sms($msg,$phone)
{
$rphone = $phone;
$sphone = explode("-","보내는 전화번호");
/******************** 인증정보 ********************/
$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($sphone[0]);
$sms['sphone2'] = base64_encode($sphone[1]);
$sms['sphone3'] = base64_encode($sphone[2]);
$sms['rdate'] = "";
$sms['rtime'] = "";
$sms['mode'] = base64_encode("1"); // base64 사용시 반드시 모드값을 1로 주셔야 합니다.
$sms['returnurl'] = "";
$sms['testflag'] = "";
$sms['destination'] = "";
$returnurl = "";
$sms['repeatFlag'] = "";
$sms['repeatNum'] = "";
$sms['repeatTime'] = "";
$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";
}
}
</code>
추천
1
1
댓글 2개
좋아요~
cafe24 문자호스팅에는, 문자 발송이 ip대로 등록을 해줘야하는데, 이용자인가요? 서버측 ip인가요?