아이코드(Icode) LMS(SMS)발송샘플 정보
아이코드(Icode) LMS(SMS)발송샘플본문
https://github.com/gnuboard/youngcart5/blob/master/lib/icode.lms.lib.php
2째줄 if (!defined('_GNUBOARD_')) exit; 제외하고 그대로 가져와서 파일로 생성해도 무방합니다.
그리고 샘플코드입니다. 눈으로만 검수했습니다. 디버깅이 필요 할 수 있어요.
<?php
$config['cf_icode_token_key'] = '';//아이코드 토큰
$config['icode_server_ip'] = $_SERVER['SERVER_ADDR'];//서버IP
$config['icode_id'] = '';//아이코드ID
$config['icode_pw'] = '';//아이코드PW
//상수추가
define('ICODE_JSON_SOCKET_HOST', '211.172.232.124');
define('ICODE_JSON_SOCKET_PORT', '9201');
define('G5_ICODE_LMS_MAX_LENGTH', 1500); // 구버전 LMS 최대길이
define('G5_ICODE_JSON_MAX_LENGTH', 2000); // JSON 버전 LMS 최대길이
include_once('./icode.lms.lib.php');//라이브러리 위치로 변경 사용
if (!function_exists("get_icode_userinfo")) {
function get_icode_userinfo($id, $pass)
{
$res = get_sock('http://www.icodekorea.com/res/userinfo.php?userid='.$id.'&userpw='.$pass, 2);
$res = explode(';', $res);
$userinfo = array(
'code' => $res[0], // 결과코드
'coin' => $res[1], // 고객 잔액 (충전제만 해당)
'gpay' => $res[2], // 고객의 건수 별 차감액 표시 (충전제만 해당)
'payment' => $res[3] // 요금제 표시, A:충전제, C:정액제
);
return $userinfo;
}
}
if (!function_exists("get_sock")) {
function get_sock($url, $timeout=30)
{
// host 와 uri 를 분리
//if (ereg("http://([a-zA-Z0-9_\-\.]+)([^<]*)", $url, $res))
if (preg_match("/http:\/\/([a-zA-Z0-9_\-\.]+)([^<]*)/", $url, $res))
{
$host = $res[1];
$get = $res[2];
}
$header = '';
// 80번 포트로 소캣접속 시도
$fp = fsockopen ($host, 80, $errno, $errstr, $timeout);
if (!$fp)
{
//die("$errstr ($errno)\n");
echo "$errstr ($errno)\n";
return null;
}
else
{
fputs($fp, "GET $get HTTP/1.0\r\n");
fputs($fp, "Host: $host\r\n");
fputs($fp, "\r\n");
// header 와 content 를 분리한다.
while (trim($buffer = fgets($fp,1024)) != "")
{
$header .= $buffer;
}
while (!feof($fp))
{
$buffer .= fgets($fp,1024);
}
}
fclose($fp);
// content 만 return 한다.
return $buffer;
}
}
$send_name = '발송인';//발송인명
$send_phone_number = '*** 개인정보보호를 위한 전화번호 노출방지 ***';//발송번호
$recv_phone_number = '*** 개인정보보호를 위한 휴대폰번호 노출방지 ***';//받는사람핸드폰
$SMS_CONTENTS = '내용';//발송컨텐츠
$port_setting = get_icode_port_type($config['icode_id'], $config['icode_pw']);
if($port_setting !== false) {
$SMS = new LMS;
$SMS->SMS_con($config['icode_server_ip'], $config['icode_id'], $config['icode_pw'], $port_setting);
$strDest = array();
$strDest[] = $recv_phone_number;
$strCallBack = $send_phone_number;
//$strCaller = iconv_euckr(trim($send_name));
$strCaller = iconv('utf-8', 'euc-kr', trim($send_name));
$strSubject = '';
$strURL = '';
//$strData = iconv_euckr($SMS_CONTENTS);
$strData = iconv('utf-8', 'euc-kr', $SMS_CONTENTS);
$strDate = '';
$nCount = count($strDest);
$res = $SMS->Add($strDest, $strCallBack, $strCaller, $strSubject, $strURL, $strData, $strDate, $nCount);
$SMS->Send();
$rst = $SMS->Result;//발송결과값
$SMS->Init();
}
추천
2
2
댓글 6개
팁 주셔서 감사합니다.
알려줘도 질문거리가 생기네요..
icode_server_ip 는 본인 서버의 주소인가요?
샘플에는 토큰키 넣는곳이 없는데 토큰없이 사용할수 있는건지요
일단 알려주신데로 해보면 에러가 납니다.
Fatal error: Uncaught Error: Call to undefined function get_icode_userinfo()
@타버린나무 코드 변경하여 올려드렸습니다.
@RYANRYAN
감사합니다.