태터툴즈 고쳐쓰기 #9 - 답글달리면 SMS 통보
태터툴즈 고쳐쓰기 시리즈에 넣기는 좀 안어울리는 감이 없지 않지만 아무튼;;
아레오 사이트가 제공하는 SMS 전송모듈을 이용하면 웹페이지에서 간단하게 문자메세지를 보낼 수 있다. 어디에 붙이느냐에 따라 다양한 응용이 가능한데 내경우는 문자전송 사이트 접속하기가 귀찮아서 내 계정에 문자전송 페이지를 만들어 숨겨두고 쓰고 있다. 또 다른 응용 예로 블로그 폐인들을 위해 포스트에 손님의 답글이 달리면 문자로 답글의 일부를 전송해주는 것도 가능한데. 금전적 출혈(에누리없이 건당 30원)도 그렇고 쓸 사람이 있을지는 의문.. (나도 안쓴다;;) 좀 본격적으로 적용하려면 동일 아이피에서 발송할 수 있는 문자 개수를 제한한다든지 오밤중에 문자오는 일을 방지하는 등의 코드를 추가할 필요가 있다.

1. 아이디와 비밀번호를 생성
2. inc_function.php 파일에 아래의 함수를 추가
3. add_exe.php 파일 28번째줄 setcookie 다음 행에 아래 두줄을 추가한다.
아레오 사이트가 제공하는 SMS 전송모듈을 이용하면 웹페이지에서 간단하게 문자메세지를 보낼 수 있다. 어디에 붙이느냐에 따라 다양한 응용이 가능한데 내경우는 문자전송 사이트 접속하기가 귀찮아서 내 계정에 문자전송 페이지를 만들어 숨겨두고 쓰고 있다. 또 다른 응용 예로 블로그 폐인들을 위해 포스트에 손님의 답글이 달리면 문자로 답글의 일부를 전송해주는 것도 가능한데. 금전적 출혈(에누리없이 건당 30원)도 그렇고 쓸 사람이 있을지는 의문.. (나도 안쓴다;;) 좀 본격적으로 적용하려면 동일 아이피에서 발송할 수 있는 문자 개수를 제한한다든지 오밤중에 문자오는 일을 방지하는 등의 코드를 추가할 필요가 있다.
과연 쓸만할까;;
1. 아이디와 비밀번호를 생성
Arreo.com Download 메뉴에서 PHP WebClient를 다운로드 받은 후 계정에 설치해서 실행한뒤 '이용신청' 메뉴에서 아이디를 생성하면 된다. (가입하면 500원 충전해줌 잇힝)
sms.zip
설치하기 어렵거나 귀찮을때는http://crizin.net/work/sms 이쪽을 이용해서 가입, 충전 등등을 해도 됨.
(arreo 서버로 데이터를 보내고 결과를 전송받는 구조라 제 서버에는 아무것도 남지 않으니 안심하시길;;)
sms.zipArreo.com 다운로드 일시중지인 관계로 이걸로 받으세요;;
설치하기 어렵거나 귀찮을때는
(arreo 서버로 데이터를 보내고 결과를 전송받는 구조라 제 서버에는 아무것도 남지 않으니 안심하시길;;)
2. inc_function.php 파일에 아래의 함수를 추가
function send_sms($from, $to, $body)
{
$uid = "your_id";
$pass = "your_password";
$body = str_replace(chr(9), " ", $body);
$len = strlen($body);
if( $len > 80 )
{
$buffer = "";
for($i=0; $i<80; $i++)
{
$asc = ord(substr($body, $i, 1));
if( $asc > 127 )
{
if( $i < 79 )
$buffer .= substr($body, $i, 2);
$i++;
}
else
$buffer .= substr($body, $i, 1);
}
$body = $buffer;
}
$query = "SS".chr(9);
$query .= "1108142553_AUSR".chr(9);
$query .= "00000".chr(9);
$query .= $uid.chr(9);
$query .= $pass.chr(9);
$query .= $from.chr(9);
$query .= $to.chr(9);
$query .= $from.chr(9);
$query .= $body.chr(9);
$query .= date("YmdHis", time()).chr(9);
$query .= "null".chr(9);
$query .= "A".chr(9);
$query .= "1".chr(9);
$query .= "00".chr(9);
$query .= "NULL".chr(9);
$query .= "NULL".chr(10);
$flag = true;
if( $fp = fsockopen("211.55.26.11", 10001, $errno, $errstr, 3) )
{
fwrite($fp, $query);
flush();
if( $result = fgets($fp, 3000) )
{
$result = explode(chr(9), $result);
if( $result[1] != "00" )
$flag = false;
}
else
$flag = false;
fclose($fp);
}
else
$flag = false;
return $flag;
}
{
$uid = "your_id";
$pass = "your_password";
$body = str_replace(chr(9), " ", $body);
$len = strlen($body);
if( $len > 80 )
{
$buffer = "";
for($i=0; $i<80; $i++)
{
$asc = ord(substr($body, $i, 1));
if( $asc > 127 )
{
if( $i < 79 )
$buffer .= substr($body, $i, 2);
$i++;
}
else
$buffer .= substr($body, $i, 1);
}
$body = $buffer;
}
$query = "SS".chr(9);
$query .= "1108142553_AUSR".chr(9);
$query .= "00000".chr(9);
$query .= $uid.chr(9);
$query .= $pass.chr(9);
$query .= $from.chr(9);
$query .= $to.chr(9);
$query .= $from.chr(9);
$query .= $body.chr(9);
$query .= date("YmdHis", time()).chr(9);
$query .= "null".chr(9);
$query .= "A".chr(9);
$query .= "1".chr(9);
$query .= "00".chr(9);
$query .= "NULL".chr(9);
$query .= "NULL".chr(10);
$flag = true;
if( $fp = fsockopen("211.55.26.11", 10001, $errno, $errstr, 3) )
{
fwrite($fp, $query);
flush();
if( $result = fgets($fp, 3000) )
{
$result = explode(chr(9), $result);
if( $result[1] != "00" )
$flag = false;
}
else
$flag = false;
fclose($fp);
}
else
$flag = false;
return $flag;
}
맨 첫부분 "your_id", "your_password" 부분에 1번에서 만든 아이디와 비밀번호를 넣는다.
3. add_exe.php 파일 28번째줄 setcookie 다음 행에 아래 두줄을 추가한다.
if (!return_authority())
send_sms("01011112222", "01012345678", stripslashes(str_trans_rev("$c_name - $c_body")));
send_sms("01011112222", "01012345678", stripslashes(str_trans_rev("$c_name - $c_body")));
관리자로 로그인한 뒤에 쓴 답글은 전송하지 않는다. "01011112222", "01012345678" 부분에는 각각 보내는사람, 받는사람의 전화번호를 쓰면 되는데 일단 여기서는 보내는 사람의 번호는 필요 없으니 아무 번호나 써주고 두번째 번호는 자기 휴대폰 전화번호를 넣으면 된다. 다른 곳에서 send_sms 함수로 문자를 보낼때도 이런식으로 써주기만 하면 되는데 자세한 전송결과를 알고싶다면 arreo.com 에서 제공하는 php 예제를 참고해서 send_sms 함수를 적당히 수정하는 것을 추천..
'컴퓨터 얘기 > 프로그래밍' 카테고리의 다른 글
| 단어사용 빈도 분석 (6) | 2005/03/18 |
|---|---|
| 태터툴즈 고쳐쓰기 #10 - 최근 리퍼러 보여주기 (3) | 2005/02/24 |
| 태터툴즈 고쳐쓰기 #9 - 답글달리면 SMS 통보 (34) | 2005/01/30 |
| 태터툴즈 고쳐쓰기 #8 - nofollow, whois 연결 (4) | 2005/01/21 |
| 태터툴즈 고쳐쓰기 #7 - 글쓰기 화면 넓게 쓰기 (2) | 2005/01/04 |
| 태터 1.0 Classic에 미니위니 비쥬얼에디터 붙이기 (85) | 2005/01/01 |
태그 : 태터툴즈