cafe24 sms호스팅으로 글작성시 문자메세지 보내기 > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

cafe24 sms호스팅으로 글작성시 문자메세지 보내기 정보

cafe24 sms호스팅으로 글작성시 문자메세지 보내기

첨부파일

write_update.skin.php (3.8K) 67회 다운로드 2012-02-06 18:03:53

본문

예전에 cafe24 sms호스팅을 신청했다가 사용안하고 있었는데
문자전송이 필요해서 아래 방법으로 사용하고 있습니다.

cafe24 sms호스팅으로 그누보드 게시판에서 글작성시 문자메세지 보내는 방법입니다.
사용방법은 사용할 게시판 스킨에 write_update.skin.php 파일을 다운로드 받아서 넣으면 됩니다.
만약 스킨에 write_update.skin.php 파일이 존재하면 소스 아래부분에  추가하면 됩니다.
그리고 소스 부분에서 아래 내용을 수정하면 됩니다.
  - sms 아이디, 인증키: cafe24 sms호스팅 신청시 부여
  - 메세지
  - 받는사람 전화번호
  - 보내는사람 전화번호
  - 메시지 전송후 이동할 페이지

요금은 300건 신청기준 1건당 20원입니다. 자세한 내용은 아래 링크 참고하세요.
http://www.cafe24.com/?controller=product_special&method=sms


<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

// 자신만의 코드를 넣어주세요.

if($w != 'u') {  // 글작성시 문자보내고 수정시에는 문자 안보냄
    $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("test");                                // SMS 아이디.
    $sms['secure'] = base64_encode("3b3f2ff52d7b8b1060f67852ecb9bd0e") ;    // 인증키
    $sms['msg'] = base64_encode("OOO 게시판에 글이 등록되었습니다.");        // 메세지

$sms['rphone'] = base64_encode("*** 개인정보보호를 위한 휴대폰번호 노출방지 ***");                        // 받는사람 전화번호, 여러명일때 ,구분

$sms['sphone1'] = base64_encode("010");                                  // 보내는사람 전화 앞번호
    $sms['sphone2'] = base64_encode("4321");                                // 보내는사람 전화 중간번호
    $sms['sphone3'] = base64_encode("4321");                                // 보내는사람 전화 뒷번호
    $sms['rdate'] = base64_encode("");              // 예약날짜
    $sms['rtime'] = base64_encode("");              // 예약시간
    $sms['mode'] = base64_encode("1");              // base64 사용시 반드시 모드값을 1로 주셔야 합니다.
    $sms['testflag'] = base64_encode("");          // 테스트일경우:Y, 아닐경우:NULL
    $sms['destination'] = base64_encode("");

$returnurl = "http://www.test.co.kr/bbs/board.php?bo_table=$bo_table";  // 메세지 전송후 이동할 페이지
    $sms['repeatFlag'] = base64_encode("");  // 반복설정
    $sms['repeatNum'] = base64_encode("");  // 반복횟수
    $sms['repeatTime'] = base64_encode("");  // 반복시간
    $nointeractive = "1";                    // 성공시 대화상자(alert)를 사용 (0:사용, 1:사용안함)

    $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";
    }

    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>";

}
?>
추천
0
  • 복사

댓글 1개

© SIRSOFT
현재 페이지 제일 처음으로