SMS 문자 발송
본문
안녕하세요? 항상 도움 받고 있습니다. 감사합니다.
로그인을 할 때 휴대전화를 입력하고 입력한 휴대전화가 입력한 아이디에 맞는지 비교하고 맞다면 해당 번호로 인증번호를 전송해주려고 합니다.
인증번호는 DB 에서 업데이트가 되는데 문자 발송이 안되네요.
코드가 제대로 되었는지 좀 봐주실 수 있으실까요?
<?php
include_once('./_common.php');
if(isset($_POST['mb_id']) && isset($_POST['mb_hp'])) {
$mb_id = $_POST['mb_id'];
$mb_hp = $_POST['mb_hp'];
// 데이터베이스에서 입력한 아이디와 휴대폰 번호가 일치하는 회원을 찾는다.
$sql_check = "SELECT * FROM g5_member WHERE mb_id = '$mb_id' AND mb_hp = '$mb_hp'";
$row_check = sql_fetch($sql_check);
if(!$row_check) {
echo "not_found";
exit;
} else {
if($config['cf_sms_use'] == 'icode') {
include_once(G5_LIB_PATH . '/icode.sms.lib.php');
$certify_num = rand(10000, 99999);
$send_hp_num = "*** 개인정보보호를 위한 휴대폰번호 노출방지 ***";
$recv_hp_num = $mb_hp;
$send_hp = str_replace("-", "", $send_hp_num); // "-" 제거
$recv_hp = str_replace("-", "", $recv_hp_num); // "-" 제거
$send_num = "$send_hp";
$recv_num = "$recv_hp";
$sms_content = "인증번호는 ".$certify_num." 입니다."; // 문자 내용
$send_num = preg_replace('/[^0-9]/', '', $sms5['cf_phone']);
if($mb_hp) {
$sql_update_num = "UPDATE g5_member SET mb_certification_number='$certify_num' WHERE mb_hp = '$mb_hp'";
sql_query($sql_update_num);
$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();
}
echo "success";
exit;
}else{
echo "fail";
}
}
}
?>
답변 2
인증된 발신번호로만 발송이 가능합니다.
아이코드에 발신번호 등록을 하셨는지 확인해보시고
그거와 발신번호가 동일한지 체크하시면 되실듯 합니다.
소스코드가 맞는듯 한데 발송이 안된다면
아이코드 가입되었는지와 가입되셨다면 아이코드 로그인해서 발송기록 오류 보시고 발신번호는 인증되었는지 확인해 보시길 바랍니다.