NEW Nmail PHP 3 업그레이드 할인
자세히 보기

다른 프로그램에서 엔메일의 새로운 메일을 확인하는 쿼리문

PASSKOREA 2007.06.19 12:07 조회 16684

회원연동모듈의 메뉴얼에는 기본적으로 '소켓 방식의 새로운 메일갯수 확인'방법이 제공되고 있습니다.
그런데 소켓의 경우 간혹 웹페이지가 느려지는 문제가 보고되었고, 사용자가 원하는대로 수정이 어려운 단점이 있습니다.

이러한 단점을 보완하고자 외부 프로그램에서 디비 쿼리를 통해 바로 엔메일 데이타를 가져오는 방법을 소개해두었습니다.

1. 외부 프로그램에서 사용하는 MySQL 계정에서 nmail2 디비에 접근할 수 있는 권한을 부여한다.
- phpMyAdmin등의 관리툴을 이용하면 쉽게 권한 부여가 가능합니다.
ex) GRANT ALL PRIVILEGES ON nmail2 . * TO 'ExternalUser'@'localhost' WITH GRANT OPTION ;

2. 외부 프로그램에서 로그인한 사용자의 도메인, 아이디를 통해 새로운 메일갯수를 가져온다.
# 엔메일 도메인 테이블에서 도메인 번호 가져오기
SELECT d_no FROM nmail2.nmail_domain WHERE d_name='passkorea.net';
result) 1

# 엔메일 회원 테이블에서 회원번호, 데이타그룹번호 가져오기
SELECT m_no, m_mail_file_group FROM nmail2.nmail_member WHERE d_no='1' AND m_id='admin';
result) 1 , 0000

# 엔메일 메일 데이타 테이블명 확인하기
nmail_mail_file_도메인번호_데이타그룹번호
ex) nmail_mail_file_1_0000

# 엔메일 메일 데이타 테이블에서 읽지 않은 메일갯수 가져오기.
SELECT COUNT(*) FROM nmail2.nmail_mail_file_1_0000 WHERE m_no='1' AND mf_is_read='N';
SELECT COUNT(*) FROM nmail2.nmail_mail_file_1_0000 WHERE m_no='1' AND mf_is_read='N' AND mb_id='inbox';



이전 글 크론 데몬을 활용한 메일 데이터 자동백업 방법 PASSKOREA 2007.07.23
다음 글 스팸이 대량 발송될 경우의 대응 및 추적방법 - 보내기/받기 불가상태 PASSKOREA 2007.06.16