그누보드 게시판 새 글 등록 시 관리자 SMS 알림 구현 방법
페이지 정보

본문
그누보드 게시판에 새 글이 등록될 때 아이코드(iCODE) 서비스를 연동하여 관리자에게 실시간 문자 알림을 보내는 설정 방법과 주의사항을 안내합니다.
그누보드 게시판 새 글 등록 시 관리자 SMS 알림 구현 방법
그누보드 게시판에 새 글이 등록될 때 관리자에게 아이코드(iCODE) 서비스를 통해 문자를 발송하려면, 글 작성 완료 시점에 실행되는 스킨 파일인 write_update.skin.php 파일을 수정하거나 추가해야 합니다.
1. 게시판 스킨 파일 추가
적용하고자 하는 게시판 스킨 폴더(skin/board/보드스킨명)에 write_update.skin.php 파일을 추가합니다. 만약 해당 파일이 이미 존재한다면 파일 안의 전송 로직 내용만 복사해서 추가합니다.
2. 관리자 페이지 기본 설정 확인
- 아이코드는 유료 서비스이므로 사전에 서비스 가입 및 발신번호 사전등록이 완료되어 있어야 합니다. 사전등록이 누락된 번호는 문자가 발송되지 않습니다.
- 관리자 페이지의 SMS 관리 > SMS 기본설정 > 회신번호에 발신자 및 수신자 번호의 기본값이 되는 회신번호가 올바르게 입력되어 있는지 확인합니다.
3. 문자 전송 코드 예시 적용
write_update.skin.php 파일에 아래와 같은 SMS/LMS 발송 로직을 추가하여 글쓰기 완료 시점에 문자가 전송되도록 구성합니다. 단문 또는 장문 전송 방식에 따라 icode.sms.lib.php 또는 icode.lms.lib.php 라이브러리를 활용합니다.
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 문자보내기
$sms_type = "MMS"; // 문자전송 방식선언 MMS 단문, LMS 장문
$send_hp_mb = $sms5['cf_phone']; // 보내는 전화번호
$recv_hp_mb = $sms5['cf_phone']; // 받는 전화번호
$sms_content = $wr_name." 님이 ".$wr_subject." 신청을 하셨습니다."; // 문자 내용
$send_number = str_replace("-","",$send_hp_mb); // - 제거
$recv_number = str_replace("-","",$recv_hp_mb); // - 제거
if ($w=='' && $send_hp_mb && $recv_hp_mb && $sms_type=="MMS") { // 단문 70자까지
include_once(G5_LIB_PATH.'/icode.sms.lib.php');
$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 기본설정 조건
아이코드를 통해 문자를 발송하려면 관리자 모드에서 아래의 환경과 기본 설정을 사전에 완료해야 합니다.
- 기본환경설정 확인:
환경설정>기본환경설정에서 SMS 사용 설정이 아이코드로 지정되어 있어야 합니다. - SMS 기본설정 회신번호 입력:
관리자모드>SMS관리>SMS 기본설정메뉴에서 회신번호 항목에 아이코드 가입 시 신청하거나 사전등록한 번호를 입력해야 합니다. - 발신번호 사전등록: 발신자 번호는 반드시 아이코드 사이트에서 발신번호 사전등록 번호로 지정된 것만 사용할 수 있으며, 등록이 누락되면 문자가 발송되지 않습니다.
아이코드 문자 발송 코드의 전화번호 지정 방법
그누보드 게시판 스킨의 write_update.skin.php 파일에서 아이코드를 통한 문자 발송 코드를 작성할 때, 보내는 전화번호($send_number)와 받는 전화번호($recv_number)는 그누보드 관리자 설정값을 불러오거나 직접 입력하는 방식을 선택하여 지정할 수 있습니다.
1. 그누보드 기본 설정값 활용
관리자 페이지의 [SMS 관리 > SMS 기본설정]에 등록된 회신번호($sms5['cf_phone'])를 활용하는 방식입니다. preg_replace 함수를 사용하여 숫자 이외의 문자(하이픈 등)를 제거하고 번호를 추출합니다.
// 수신자 및 발신자 번호 설정 (관리자 설정값 연동)
$receive_number = preg_replace("/[^0-9]/", "", $sms5['cf_phone']);
$send_number = preg_replace("/[^0-9]/", "", $sms5['cf_phone']);
2. 특정 번호 직접 지정
코드 내에 원하는 휴대폰 번호를 직접 입력하여 지정할 수 있습니다. 이때도 문자 발송 라이브러리 규격에 맞춰 하이픈(-)을 제거하는 처리가 필요합니다.
// 특정 번호 직접 지정 예시
$target_hp = "010-1234-5678";
$recv_number = str_replace("-", "", $target_hp);
$send_number = "010-0000-0000"; // 발신번호 사전등록된 번호 필수
주의사항: 발신자 번호는 반드시 아이코드 사이트에서 발신번호 사전등록을 완료한 번호여야만 문자가 정상적으로 발송됩니다. 등록되지 않은 번호를 사용하면 발송이 실패할 수 있습니다.
그누보드에서 문자 발송 방식인 단문(SMS)과 장문(LMS)은 전송하려는 내용의 길이에 따라 구분하여 적용합니다. 일반적으로 70자 이내의 짧은 메시지는 단문(SMS) 방식을, 그 이상의 긴 메시지는 장문(LMS) 방식을 사용합니다.
1. 라이브러리 구분
- 단문(SMS):
icode.sms.lib.php라이브러리를 사용합니다. - 장문(LMS):
icode.lms.lib.php라이브러리를 사용합니다.
2. 적용 방식
게시판 스킨의 write_update.skin.php 파일 내에서 $sms_type 변수를 통해 방식을 선언하고, 조건문에 따라 적절한 라이브러리를 호출합니다.
- 단문(SMS) 적용:
include_once(G5_LIB_PATH.'/icode.sms.lib.php');를 호출하여SMS클래스를 사용합니다. - 장문(LMS) 적용:
include_once(G5_LIB_PATH.'/icode.lms.lib.php');를 호출하여LMS클래스를 사용하며, 수신자 번호를 배열($strDest) 형태로 전달해야 합니다.
문자 내용이 70자를 초과할 경우 단문 라이브러리를 사용하면 전송이 실패하거나 내용이 잘릴 수 있으므로, 반드시 내용 길이에 맞는 라이브러리를 선택해야 합니다.
게시판 새 글 등록 시 관리자 SMS 알림 구현
- 내 상황: 그누보드 게시판에 새 글이 등록될 때 관리자에게 아이코드(iCODE)를 통해 SMS 문자를 발송하고자 함
- 선택 기준: 아이코드 유료 서비스 가입 및 발신번호 사전등록 여부를 확인한 뒤, 대상 게시판 스킨 폴더에
write_update.skin.php파일을 추가하고 SMS/LMS 발송 코드를 구성함 - 다음 행동: 관리자 모드에서 아이코드 기본 설정 및 회신번호를 확인하고, 게시판에 테스트 글을 작성하여 문자가 정상 수신되는지 확인
실전 FAQ
Q. 발신번호 사전등록을 누락하면 어떻게 되나요?
- 답변: 아이코드 서비스 특성상 사전에 등록되지 않은 발신번호를 사용하면 문자 발송이 실패하므로, 반드시 아이코드 홈페이지에서 발신번호 사전등록을 완료해야 합니다.
Q. 단문(SMS)과 장문(LMS)은 어떻게 구분해서 적용하나요?
- 답변: 70자 이내의 짧은 메시지는
icode.sms.lib.php를 활용하고, 그 이상의 긴 내용은icode.lms.lib.php라이브러리와 배열 형태의 수신자 지정 방식을 적용해야 합니다.
함께 보면 좋은 글
참고자료
기타 참고자료
- 이전글그누보드 댓글 쓰기 권한 없는 비회원 대상 입력 폼 노출 및 readonly 처리 방법 26.10.17
- 다음글그누보드 갤러리 최신글 스킨 이미지 없을 때 본문 출력 방법 26.10.16
댓글목록
등록된 댓글이 없습니다.