관리자 새글알림 메일 중복 발송 문제
본문
게시판에 비회원이 글 작성시 관리자에게 메일을 자동발송하기 위해서
write_update.skin.php를 생성하여
include_once(G5_LIB_PATH.'/mailer.lib.php');
$wr_email="관리자메일주소";
$unique_email="관리자메일주소";
$subject = 'OOO 게시판에 새로운 문의글이 등록되었습니다.';
mailer($wr_name, $wr_email, $unique_email, $subject, $content, 1);
이렇게 설정하고 관리자페이지 게시판 설정에서 '메일발송' 설정을 체크해제한 상태에서
글쓰기 테스트 시 관리자 메일이 제대로 발송되지 않네요...
write_update.skin.php 파일의 설정이 있다면 '메일발송' 설정과는 상관없이 메일이 발송되는게
아닌게 생각했는데, 아무리 테스트를 해봐도 마찬가지더라구요.
그래서 이번에는 관리자페이지 해당 게시판 설정에서 '메일발송' 설정을 체크한 후
글쓰기 테스트해보면 메일발송은 되는데 중복으로 (제목만 다른) 메일 2개가 발송됩니다.
write_update.skin.php를 아예 삭제하면 중복되는 문제를 간단히 해결할수는 있겠으나
기본설정과는 다른 형태의 메일제목을 사용하고 싶어서 위와 같이 설정한 것인데요,
write_update.skin.php에서 설정한 메일 1개만 발송되도록 하려면
어떻게 해야할까요?
(bbs/write_update.php에서
mailer($wr_name, $wr_email, $unique_email[$i], $subject, $content, 1);
위 부분을 무식하게 주석처리하는 방법 말고 다른 방법이 있을까요?)
!-->답변 1
write_update.skin.php 파일에 위소스를 넣었다면
발송여부 체크와 상관없이 날아가야하는데요
아래와 같이 변경해보세요
include_once(G5_LIB_PATH.'/mailer.lib.php');
$wr_email="관리자메일주소";
$unique_email="관리자메일주소";
$subject = 'OOO 게시판에 새로운 문의글이 등록되었습니다.';
ob_start();
include_once ('./write_update_mail.php');
$content = ob_get_contents();
ob_end_clean();
mailer($wr_name, $wr_email, $unique_email, $subject, $content, 1);
===> 또는
내용은 동일하고 제목만 변경하고 싶으시다면
게시판 메일 발송 에 체크를 하고
/bbs/write_update.php 파일의
699번줄
$subject = '['.$config['cf_title'].'] '.$board['bo_subject'].' 게시판에 '.$str.'글이 올라왔습니다.';
이부분을
if($bo_table=="게시판ID"){
$subject = 'OOO 게시판에 새로운 문의글이 등록되었습니다.';
}else{
$subject = '['.$config['cf_title'].'] '.$board['bo_subject'].' 게시판에 '.$str.'글이 올라왔습니다.';
}
이렇게 변경하셔서 원하시는 게시판에서만 제목을 바꿔서 발송되게 할수도있습니다
둘중에 하나로 해보세요