[카페24] SMS 문자 발송 > 기술자료 | 해피정닷컴

[카페24] SMS 문자 발송 > 기술자료

본문 바로가기

사이트 내 전체검색

[카페24] SMS 문자 발송 > 기술자료

호스팅 [카페24] SMS 문자 발송

페이지 정보


본문

카페24에서 SMS호스팅 이용할때 쉽게 사용하도록 정리하였습니다.


1. 문자연동페이지에 삽입할 내용
아래에 post 또는 적용될 내용을 대입합니다.
<?php
//cafe24 문자발송
$sms_action   = ""; // 실제발송 go
$sms_smsType  = "S"; // S 단문(SMS)  L 장문(LMS)
$sms_subject  = ""; // 제목
$sms_msg      = ""; // 메시지
$sms_rphone   = "010-1111-2222"; // 받는번호
$sms_testflag = "Y"; // 테스트발송 Y
include("sms_cafe24.php");
?>


2. sms_cafe24.php 파일 생성
<?php
// cafe24 SMS 발송
$sms_userid  = ""; //SMS 아이디.
$sms_secure  = ""; //인증키

// 010-3775-0927
$sms_sphone1 = "010";  // 보내는 번호1 예) 010
$sms_sphone2 = ""; // 보내는 번호2 예) 1234
$sms_sphone3 = ""; // 보내는 번호3 예) 5678

$sms_alert   = ''; // 성공시 대화 상자(alert)를 사용 1
/*
사용할 경우 : 1
성공시 대화 상자(alert)를 사용 하지 않게 합니다.
*/

//$sms_smsType = $_POST['smsType']; // 발송타입
/*
S 단문(SMS)
L 장문(LMS)
<span><input type="radio" name="smsType" value="S">단문(SMS)</span><span><input type="radio" name="smsType" value="L">장문(LMS)</span> <br />
*/
//$sms_msg     = $_POST['msg']; // 메시지
/*
예) SMS = 90 byte 이하, LMS = 2,000 byte 이하 까지 입력 (상단 라디오버튼으로 SMS, LMS 선택)
*/
//$sms_subject = $_POST['subject']; // 제목
/*
예) 안녕하세요. 카페24입니다. 50byte 이하로 입력
장문(LMS)일 경우에만 제목을 입력할 수 있습니다.
수신자 휴대폰 기종에 따라 입력한 제목이 출력되지 않을 수 있습니다.
발송 시 제목이 없으면 [제목없음]으로 발송됩니다.
*/
//$sms_rphone  = $_POST['rphone']; // 받는번호
/*
예) 011-012-1234
'-' 포함해서 입력, 받는사람이 여러명이 경우 콤마(,)로 구분해주세요
잘못된 전화번호는 전송되지 않습니다.
※ destination 변수 사용시에는 "" 으로 비워주세요.
*/

$sms_rdate   = $_POST['rdate']; // 예약날짜 예) 20080930
$sms_rtime   = $_POST['rtime']; // 예약시간
/*
예) 173000
오후 5시 30분
예약시간은 최소 10분 이상으로 설정하셔야합니다.
*/
$sms_returnurl    = $_POST['returnurl']; // 리턴 URL
/*
메시지 전송 후 이동할 페이지
( http:// 또는 https:// 를 붙이셔야 합니다. )
*/
//$sms_testflag     = "Y"; // 테스트 요청
/*
테스트일 경우 : Y
테스트가 아닐 경우 입력하지 마세요.
실제 sms는 보내지 않으나 단순한 페이지 테스트를 위한 용도
*/
$sms_destination  = "";
/*
메시지에 받는 사람 이름을 넣고 싶을 때 이용
destination 값을 "휴대폰번호|이름" 과 같이 '|'문자로 구분해서 입력하시고,
msg값에 “{name}” 이라는 문구를 입력 후 전송하시면 됩니다.
예)

<input type="type" name="destination" value="010-000-0000|홍길동,010-000-0000|김영희">
<input type="type" name="msg" value="{name}님, 주문하신 물품이 배송되었습니다.">
*/
$sms_repeatFlag   = ""; // 반복 설정을 원하는 경우 : Y
$sms_repeatNum    = ""; // 반복 횟수  1~10회 가능.
$sms_repeatTime   = ""; // 반복 시간  15분 이상부터 가능.

//echo "<br>sms_action = {$sms_action}<br>";

if($_POST['sms_action']=='go' || $sms_action=='go'){
    /******************** 인증정보 ********************/
    $sms_url = "https://sslsms.cafe24.com/sms_sender.php"; // 전송요청 URL
    $sms['user_id'] = base64_encode($sms_userid); //SMS 아이디.
    $sms['secure']  = base64_encode($sms_secure) ; //인증키
    $sms['msg'] = base64_encode(stripslashes($sms_msg));
    if( $sms_smsType == "L"){
        $sms['subject']   =  base64_encode($sms_subject);
    }
    $sms['rphone']  = base64_encode($sms_rphone);
    $sms['sphone1'] = base64_encode($sms_sphone1);
    $sms['sphone2'] = base64_encode($sms_sphone2);
    $sms['sphone3'] = base64_encode($sms_sphone3);
    $sms['rdate']   = base64_encode($sms_rdate);
    $sms['rtime']   = base64_encode($sms_rtime);
    $sms['mode']    = base64_encode("1"); // base64 사용시 반드시 모드값을 1로 주셔야 합니다.
    $sms['returnurl']   = base64_encode($sms_returnurl);
    $sms['testflag']    = base64_encode($sms_testflag);
    $sms['destination'] = strtr(base64_encode($sms_destination), '+/=', '-,');
    $returnurl = $sms_returnurl;
    $sms['repeatFlag'] = base64_encode($sms_repeatFlag);
    $sms['repeatNum']  = base64_encode($sms_repeatNum);
    $sms['repeatTime'] = base64_encode($sms_repeatTime);
    $sms['smsType']    = base64_encode($sms_smsType); // LMS일경우 L
    $nointeractive     = $sms_alert; //사용할 경우 : 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";
    }

    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 "<span style='color:#ffffff;'>문자전송 : {$alert}</span><br>";
    //echo "<script>location.href='{$returnurl}';</script>";
}
exit;

댓글목록

등록된 댓글이 없습니다.


Total 2,633건 1 페이지
  • RSS
기술자료 목록
2633
그누보드   36  2024-11-22 10:52 ~ 2024-11-22 11:03  
열람
호스팅   72  2024-11-19 14:41 ~ 2024-11-19 21:17  
2631
Linux   66  2024-11-18 15:45 ~ 2024-11-18 15:48  
2630
일반   76  2024-11-15 16:45 ~ 2024-11-15 16:46  
2629
Secure   126  2024-11-06 18:48 ~ 2024-11-06 18:50  
2628
영카트   263  2024-10-21 13:44 ~ 2024-10-21 19:42  
2627
전자결제   506  2024-09-05 09:30  
2626
MySQL   931  2024-03-29 14:14 ~ 2024-03-29 14:14  
2625
그누보드   1151  2024-02-23 18:40 ~ 2024-02-24 06:13  
2624
JavaScript   1257  2024-02-16 18:50 ~ 2024-02-16 20:37  
2623
Java   1195  2024-02-06 16:49  
2622
PHP   1382  2024-02-06 16:42  
2621
호스팅   1224  2024-01-29 12:54  
2620
PHP   1291  2024-01-26 11:04 ~ 2024-01-26 11:13  
2619
MySQL   1487  2024-01-08 17:37 ~ 2024-03-14 16:00  
2618
SQL   1583  2024-01-08 12:36  
2617
영카트   1655  2024-01-04 14:57  
2616
일반   2565  2023-12-15 18:33  
2615
Android   2056  2023-11-30 18:48 ~ 2023-11-30 19:41  
2614
전자결제   4002  2023-11-23 19:53  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2024 해피정닷컴. All Rights Reserved.