그누보드 게시판에서 if문 사용해서 메일발송 안되게 하는 방법 궁금해요

그누보드 게시판에서 if문 사용해서 메일발송 안되게 하는 방법 궁금해요

QA

그누보드 게시판에서 if문 사용해서 메일발송 안되게 하는 방법 궁금해요

답변 1

본문

공지사항(notie) 페이지 경로 : 폴더명/bbs/board.php >> 여기에 관리자가 글을 썼을때 메일이 들어오는게 문제입니다.


1:1문의하기(gallery) 페이지 경로 : 폴더명/bbs/write.php >> 여기는 회원분들이 글을 남겨주시는데 메일이 제대로 들어옵니다.

 

결론적으로 두 게시판에서 메일이 들어오는게 문제인데요, 1:1문의하기(gallery) 에서 메일이 발송되어야 하기 때문에 환경설정은 이렇게 해줬고

 

1935338123_1639444589.7182.png

 

그리고 공지사항(notie) 과 1:1문의하기(gallery) 게시판 관리>게시판수정 에 들어가서 둘 다 메일발송 사용 란에 체크를 하지 않았습니다. (이 부분 때문에 두 게시판에서 글을 썼을때 메일이 들어오는게 의문이긴 해요)

1935338123_1639444759.3223.png

공지사항(notie) 페이지 경로 : 폴더명/bbs/board.php

이 부분에 if문을 써서 공지사항에 관리자가 글을 올렸을때 메일 발송을 하지 않게끔 하고싶은데,,,

어떤식으로 적어야할지 board.php에 적는것이 맞는지 궁금합니다ㅜ

이 질문에 댓글 쓰기 :

답변 1

저번에 올리셨던거 같은데 아직 해결 못하셨나보네요?

 

글쓰기 저장시는 write_update.php  로 무조건 가게됨니다

 

해당 페이지 소스 보시면 하단에 메일 발송 관련 있고요 

 

// 메일발송 사용 (수정글은 발송하지 않음)
if (!($w == 'u' || $w == 'cu') && $config['cf_email_use'] && $board['bo_use_email']) {

 

환경설정 메일사용  &   게시판 메일사용 일때 적용이 되는 형태일거고요

 

커스텀 하셨다면 다르시겠지만요  별도 커스텀을 안하셨다면 

 

해당 게시판 사용하시는 스킨에  

// 사용자 코드 실행
@include_once($board_skin_path.'/write_update.skin.php');
@include_once($board_skin_path.'/write_update.tail.skin.php');

 

이러한 파일들이 있는지 확인 해보세요

요기서 커스텀된 메일이 발송되거나 할수도 있어서요

 

 

 

 

 

 

앗 네 아직 해결 못했습니다,,,ㅜㅜ
write_update.php 하단에 확인하니

// 사용자 코드 실행
@include_once($board_skin_path.'/write_update.skin.php');
@include_once($board_skin_path.'/write_update.tail.skin.php');

이런 코드가 있네요 정말로!

해당 소스는 원래 있어요  해당 게시판(스킨폴더) 안에 저런 파일이 있으신지 확인 해보셔야햐요
write_update.skin.php
write_update.tail.skin.php
이런게 별도 생성되있으면 저안에서 커스텀된 소스가 있을수도 있겠죠?
없으시다면 ㅡㅡ;  어딘가에서  별도로 메일 보내는 항목이 있을테고요 그부분을 찾으셔야 하실듯 싶어요

음... board.php에는 말씀하신 //사용자 코드 실행
이라는 코드들이 없네요ㅜㅜ...
write_update.php 를 제외하고 다른 파일안에 저 두줄이 있는지 찾아야한다는거죠?
찾아서 지워주면 되려나요? 지웠다가 1:1 문의하기도 메일이 안들어올까봐 걱정이ㅠ

아 이해한 것 같습니다
theme>basic>skin>board>basic 안에 list.skin.php , view.skin.php , write.skin.php , view_comment.skin.php 이렇게 네개 들어있어요..!!
이 중 write.skin.php 안에 이메일 관련된 내용이 있긴 해요





46줄        if ($is_mail) {
            $option .= PHP_EOL.'<li class="chk_box"><input type="checkbox" id="mail" name="mail"  class="selec_chk" value="mail" '.$recv_email_checked.'>'.PHP_EOL.'<label for="mail"><span></span>답변메일받기</label></li>';
        }


74줄     <?php if ($is_email) { ?>
<label for="wr_email" class="sound_only">이메일</label>
<input type="text" name="wr_email" value="<?php echo $email ?>" id="wr_email" class="frm_input half_input email " placeholder="이메일">
    <?php } ?>



혹시 이 부분이 문제일까요?

해당 부분은 제가 생각하기엔 별 상관없어보이고요
실제 운영하는 사이트이신가요?  아니면 글쓰기 완료시
write_update.php 으로 넘어가실건데..

노가다 방법으로....
특정 부분 브레이크 걸어서 메일 들어오는 순간 찾아보시는 방법밖에? 없어 보이네요 댓글로만
설명하려니 ㅋㅋㅋ

예로 
insert into $write_table  부분 위에

exit; 로 끊어서  게시글 등록전에 메일이 오는지.. 안오는지 확인하시고

안들어오시면  하단부분

// 메일발송 사용 (수정글은 발송하지 않음)
if (!($w == 'u' || $w == 'cu') && $config['cf_email_use'] && $board['bo_use_email']) {

윗부분에 exit; 또 걸어서 메일 들어오는지 확인하시고

메일이 들어오신다면  write_update.php 파일과는 전혀 무관하게 다른곳에서 메일 이벤트가 발생되겠죠?

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 109
© SIRSOFT
현재 페이지 제일 처음으로