비밀글 업로드시 최고관리자 계정으로 메일 발송시키는 법
본문
안녕하세요, 그누뉴비입니다.
게시글을 작성하면 최고관리자 이메일에 메일이 가게끔 세팅을 하고있는데
테스트해보니 공개로 작성한 글은 메일이 잘 오는데
비밀글로 써서 올린 건 최고관리자쪽으로 메일이 오지 않아서요
비밀글도 써서 올렸을 때 최고 관리자쪽으로 메일 발송될 수 있게 할 수 있나요?
답변 2
if (!($w == 'u' || $w == 'cu') && $config['cf_email_use'] && $board['bo_use_email']) {
이부분을
if (!($w == 'u' || $w == 'cu') && $config['cf_email_use'] && $board['bo_use_email']) || in_array($wr['wr_option'], '옵션에 비밀글 값 추가하시면') {
!-->!-->
그누보드 원본에는 비밀글을 따로 처리하지 않습니다.
해당 부분 따로 소스를 수정하신게 아닌지 확인해보세요.
/bbs/write_update.php 파일에 아래 부분 확인해보세요.
// 메일발송 사용 (수정글은 발송하지 않음)
if (!($w == 'u' || $w == 'cu') && $config['cf_email_use'] && $board['bo_use_email']) {
// 관리자의 정보를 얻고
$super_admin = get_admin('super');
$group_admin = get_admin('group');
$board_admin = get_admin('board');
$wr_subject = get_text(stripslashes($wr_subject));
$tmp_html = 0;
if (strstr($html, 'html1'))
$tmp_html = 1;
else if (strstr($html, 'html2'))
$tmp_html = 2;
$wr_content = conv_content(conv_unescape_nl(stripslashes($wr_content)), $tmp_html);
$warr = array( ''=>'입력', 'u'=>'수정', 'r'=>'답변', 'c'=>'코멘트', 'cu'=>'코멘트 수정' );
$str = $warr[$w];
$subject = '['.$config['cf_title'].'] '.$board['bo_subject'].' 게시판에 '.$str.'글이 올라왔습니다.';
$link_url = get_pretty_url($bo_table, $wr_id, $qstr);
include_once(G5_LIB_PATH.'/mailer.lib.php');
ob_start();
include_once ('./write_update_mail.php');
$content = ob_get_contents();
ob_end_clean();
$array_email = array();
// 게시판관리자에게 보내는 메일
if ($config['cf_email_wr_board_admin']) $array_email[] = $board_admin['mb_email'];
// 게시판그룹관리자에게 보내는 메일
if ($config['cf_email_wr_group_admin']) $array_email[] = $group_admin['mb_email'];
// 최고관리자에게 보내는 메일
if ($config['cf_email_wr_super_admin']) $array_email[] = $super_admin['mb_email'];
// 원글게시자에게 보내는 메일
if ($config['cf_email_wr_write']) {
if($w == '')
$wr['wr_email'] = $wr_email;
$array_email[] = $wr['wr_email'];
}
// 옵션에 메일받기가 체크되어 있고, 게시자의 메일이 있다면
if (isset($wr['wr_option']) && isset($wr['wr_email'])) {
if (strstr($wr['wr_option'], 'mail') && $wr['wr_email'])
$array_email[] = $wr['wr_email'];
}
// 중복된 메일 주소는 제거
$unique_email = array_unique($array_email);
$unique_email = run_replace('write_update_mail_list', array_values($unique_email), $board, $wr_id);
for ($i=0; $i<count($unique_email); $i++) {
mailer($wr_name, $wr_email, $unique_email[$i], $subject, $content, 1);
}
}
답변을 작성하시기 전에 로그인 해주세요.