글 등록시 관리자에게 sms알림방법
본문
게시판에 글이 올라오면 자동으로 관리자에게 sms 문자가 오도록 하는 기능을 구현하고 싶습니다.
이 기능을 구현하기 위해서 sir을 열심히 뒤져보고 이 코드, 저 코드 다 써보았지만 도저히 문자가 보내지지 않아 다시 한번 질문을 하게 되었습니다.
<?
if (!defined("_GNUBOARD_")) exit;//개별 페이지 접근 불가
include_once(G5_LIB_PATH.'/icode.sms.lib.php');
//문의글 등록시 관리자에게 전송
if($bo_table == "inquiry") {
$send_hp_mb = "*** 개인정보보호를 위한 휴대폰번호 노출방지 ***";//보내는 전화번호
$recv_hp_mb = "*** 개인정보보호를 위한 휴대폰번호 노출방지 ***";//받는 전화번호
$send_hp = str_replace("-","",$send_hp_mb);//-제거
$recv_hp = str_replace("-","",$recv_hp_mb);//-제거
$send_number = "$send_hp";
$recv_number = "$recv_hp";
$sms_content = "고객님이 견적문의 게시판에 글을 남겼습니다."; // 문자 내용
$SMS = new SMS;//SMS 연결
$SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']);
$SMS->Add($recv_number, $send_number, $config['cf_icode_id'], iconv("utf-8", "euc-kr", stripslashes($sms_content)), "");
$SMS->Send();
}
?>
(*** 개인정보보호를 위한 휴대폰번호 노출방지 ***에는 아이코드에 사전등록 된 전화번호를 적었다고 가정합니다.)
사용된 코드는 위와 같습니다.
일단 아이코드 가입은 되어있으며, 요금도 넣어서 관리자 페이지에서 sms 보내기 기능으로 문자를 보내는 것은 정상적으로 작동합니다. 다만 write_update.skin.php파일에 저 코드를 넣고 테스트를 해보면 문자가 아예 발송이 되지 않습니다.
혹시나 발송은 됐는데 제 폰에서 못받는건가 싶어 요금을 확인했으나 전혀 차감이 되지 않아 발송 자체가 되지 않았음을 알 수 있었습니다.
질문 1. 위의 코드에서 new SMS로 객체를 생성하고 각 멤버변수에 값을 집어넣는 부분에 cf가 붙은(cf_icode_server_ip, cf_icode_id 이런것들)부분은 수정하지 말아야 하나요?
질문 2. 만약 바꿔야 한다면 어떤값으로 바꿔야 하나요?
답변 3
if (!defined("_GNUBOARD_")) exit;//개별 페이지 접근 불가
include_once(G5_LIB_PATH.'/icode.sms.lib.php');
//문의글 등록시 관리자에게 전송
if($bo_table == "inquiry") {
$send_hp_mb = "*** 개인정보보호를 위한 휴대폰번호 노출방지 ***";//보내는 전화번호
$recv_hp_mb = "*** 개인정보보호를 위한 휴대폰번호 노출방지 ***";//받는 전화번호
$send_number = preg_replace("/[^0-9]/", "", $send_hp_mb);
$recv_number = preg_replace("/[^0-9]/", "", $recv_hp_mb);
$sms_content = iconv_euckr("고객님이 견적문의 게시판에 글을 남겼습니다."); // 문자 내용
$SMS = new SMS;//SMS 연결
$SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']);
$SMS->Add($recv_number, $send_number, $config['cf_icode_id'], $sms_content, "");
$SMS->Send();
$SMS->Init(); // 보관하고 있던 결과값을 지웁니다.
}
이렇게 안되시면, 아래 변수 확인해보세요^^
if($bo_table == "inquiry")
$send_hp_mb
$recv_hp_mb
!-->질문 1.
=> 수정할 필요가 없습니다.
전체적인 코드는 특별한 문제가 없어 보입니다.
다만, 한가지 체크가 필요한 부분은, "보내는 사람의 휴대폰 번호" 입니다.
최근 스팸 설정과 관련하여, "보내는 사람의 휴대폰 번호" 가 승인(등록)된 번호이어야 합니다.
회신번호가 등록(승인)되지 않은 경우에는, 아마 발송이 되지 않을 것입니다.
그 부분이 그누보드에서는 관리자 > SMS 기본설정 - 회신번호 이고,
그누보드 변수로는 $sms5['cf_phone'] 입니다.
$send_hp_mb = "*** 개인정보보호를 위한 휴대폰번호 노출방지 ***";//보내는 전화번호
=>
$send_hp_mb = $sms5['cf_phone']; 으로 수정해 보시기 바랍니다.
https://sir.kr/cmall/1536580311
글작성후 문자발송 플러그인을 등록했습니다.
문자전송후 관리자 > 문자전송 내역에서 확인도 가능합니다.
SMS / LMS 모두 작동하며, icodekorea 의 최신 모듈을 활용 적용했습니다.