2026, 새로운 도약을 시작합니다.

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('0101234567','011','123','4567',$sms_user); //받는번호(-없이 붙여서 0101234567),운영자 보낸번호 ('011','123','4567' 로 구분) 
//send_sms($member['mb_hp'],'011','123','4567',$sms_user);
//send_sms($member['mb_hp'],'011','123','4567',$sms_user); //회원에게 문자 발송
//send_sms($wr_41,'011','123','4567',$sms_user); //회원에게 문자 발송
send_sms('0111234567',$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('0101234567','011','123','4567',$sms_user);
send_sms($wr_41,'011','123','4567',$sms_user);
//send_sms($member['mb_hp'],'011','123','4567',$sms_user);
//send_sms($member['mb_hp'],'011','123','4567',$sms_user); //회원에게 문자 발송
//send_sms($wr_41,'011','123','4567',$sms_user); //회원에게 문자 발송
//send_sms('0111234567',$ext4_00,$ext4_01,$ext4_02,$sms_user1); //운영자에게 문자 발송

|

댓글 3개

저도 만들어서 쓰고 있는데 제가 만들었던 때에서 달라졌나보군요...
잔여건수까지 확인할 수 있는 것을 보니 새로 한번 업데이트 해야겠네요...

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.
번호 제목 글쓴이 날짜 조회
3309 3년 전 조회 2,014
3308 11년 전 조회 2,333
3307 6년 전 조회 5,023
3306 6년 전 조회 3,495
3305 6년 전 조회 1.3만
3304 7년 전 조회 3,974
3303 7년 전 조회 3,954
3302 7년 전 조회 1.4만
3301 8년 전 조회 5,099
3300 8년 전 조회 6,191
3299 8년 전 조회 1.1만
3298 8년 전 조회 4,234
3297 8년 전 조회 4,659
3296 8년 전 조회 1.2만
3295 8년 전 조회 1.5만
3294 8년 전 조회 6,243
3293 8년 전 조회 5,862
3292 9년 전 조회 5,514
3291 9년 전 조회 1.4만
3290 9년 전 조회 5,270
🐛 버그신고