BOARD

문제 해결

그누보드 비회원 글 등록 시 관리자 메일 미발송 해결 방법

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 9회 작성일 26-10-01 17:03

본문

그누보드 비회원 글 등록 시 관리자 메일 미발송 해결 방법

그누보드 5.x 환경에서 비회원이 글을 작성했을 때 관리자 메일이 발송되지 않는 문제를 해결하기 위한 원인 파악과 두 가지 적용 방법을 안내합니다.

비회원 글 등록 시 관리자 메일 미발송 원인 및 해결 방법

그누보드 5.x 환경에서 비회원이 게시판에 글을 작성했을 때 관리자에게 메일이 발송되지 않는 주된 원인은 비회원 이메일 주소를 입력하지 않았을 경우 발생합니다. 회원은 가입할 때 입력한 개인정보의 메일 주소가 적용되지만, 비회원은 별도로 이메일 주소를 입력하지 않으면 메일이 발송되지 않습니다.

이를 해결하기 위한 스킨 수정 방식과 서버 사이드 로직 수정 방식 두 가지 방법이 있습니다. (단, 스킨 파일명은 테마에 따라 다를 수 있습니다.)

1. 게시판 스킨 수정 방식

메일 주소 입력란이 필요 없거나 선택 입력이어야 할 때, 스킨 파일에서 이메일 필드를 강제로 설정하거나 숨김 처리할 수 있습니다.

  • 방법 A: 이메일 필드를 숨김 처리하여 관리자 메일 주소로 강제 지정게시판 스킨의 write.skin.php 파일에 아래 내용을 추가합니다.
    <input type="hidden" name="wr_email" value="<?php echo $config['cf_admin_email']?>">
    특정 이메일 주소로 직접 지정하려면 아래와 같이 입력할 수도 있습니다.
    <input type="hidden" name="wr_email" value="[email protected]">
    기존에 있던 이메일 입력 폼은 삭제합니다.
    <?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 email " placeholder="이메일">
    <?php }?>
  • 방법 B: 여분 필드 이용메일 주소를 별도로 입력받아야 한다면 여분 필드를 이용해 입력받습니다.

2. 서버 사이드 로직 수정 방식

/bbs/write_update.php 파일을 수정하여 비회원이 이메일을 입력하지 않았을 때 관리자 메일로 대체되도록 설정합니다.

/bbs/write_update.php 파일에서 아래 코드를 찾습니다.

// 옵션에 메일받기가 체크되어 있고, 게시자의 메일이 있다면
if (strstr($wr['wr_option'], 'mail') && $wr['wr_email']) $array_email[] = $wr['wr_email'];

위 내용 바로 위에 아래 코드를 추가합니다.

if (!$wr_email) {
 $wr_email = $config['cf_admin_email'];
}

참고 사항

  • 두 가지 방법 중 한 가지 방법만 선택하여 사용하세요.
  • 관리자 메일 주소 <?php echo $config['cf_admin_email']?>는 환경설정 > 기본환경설정 > 관리자 메일 주소에 입력한 값입니다.

게시판 스킨 수정 방식을 통한 비회원 이메일 누락 해결 방법

그누보드에서 비회원이 글을 작성할 때 이메일 주소를 입력하지 않아 관리자 메일 발송이 누락되는 경우, 게시판 스킨의 write.skin.php 파일을 수정하여 이메일 필드를 강제로 설정할 수 있습니다.

해결 절차

  1. 스킨 파일 확인: 사용 중인 게시판 스킨 폴더 내의 write.skin.php 파일을 엽니다. (테마 사용 시 경로가 다를 수 있습니다.)
  2. 이메일 필드 수정: 기존의 이메일 입력 폼(<?php if ($is_email) {?> 영역)을 삭제하거나 숨기고, 아래와 같이 hidden 타입의 입력 필드를 추가하여 관리자 메일 주소나 임의의 메일 주소가 자동으로 전달되도록 합니다.
  • 관리자 메일 주소 사용 시:
    <input type="hidden" name="wr_email" value="<?php echo $config['cf_admin_email']?>">
  • 임의의 메일 주소 사용 시:
    <input type="hidden" name="wr_email" value="[email protected]">

주의사항

  • 위 방법은 비회원이 이메일을 입력하지 않아 발생하는 발송 누락 문제를 해결하기 위한 조치입니다.
  • 스킨 파일명은 테마나 게시판 설정에 따라 다를 수 있으므로 적용 전 반드시 원본 파일을 백업하시기 바랍니다.

서버 사이드 로직 수정으로 비회원 이메일 누락 해결하기

그누보드 5.x 환경에서 비회원이 이메일을 입력하지 않고 글을 등록할 때 관리자 메일이 발송되지 않는 문제를 해결하려면 /bbs/write_update.php 파일을 수정합니다.

수정 방법

  1. /bbs/write_update.php 파일을 엽니다.
  2. 파일 안에서 메일 발송 로직이 포함된 구간(보통 if (strstr($wr['wr_option'], 'mail') && $wr['wr_email']) 코드 근처)을 찾습니다.
  3. 해당 코드 바로 위에 다음 코드를 추가합니다.
if (!$wr_email) {
 $wr_email = $config['cf_admin_email'];
}

참고 사항

  • 본문에서 사용된 관리자 메일 주소 $config['cf_admin_email'] 값은 환경설정 > 기본환경설정 > 관리자 메일 주소에 입력한 값을 가져옵니다.
  • 스킨 수정 방식과 서버 사이드 로직 수정 방식 중 한 가지 방법만 사용해야 합니다.
  • 수정 전 반드시 해당 파일을 백업하시기 바랍니다.

비회원 글 등록 시 관리자 메일 미발송 해결 방법

그누보드 5.x 환경에서 비회원이 글을 등록할 때 관리자 메일이 발송되지 않는 주된 원인은 비회원이 이메일 주소를 입력하지 않았거나 이메일 폼이 생략되어 발송 조건($wr_email)을 충족하지 못하기 때문입니다. 이를 해결하기 위해 게시판 스킨을 수정하거나 서버 사이드 로직을 수정하는 방식을 적용할 수 있습니다.

1. 게시판 스킨 수정 방식 (write.skin.php)

메일 주소 입력란이 필요 없거나 선택 입력으로 설정하여 비회원이 이메일을 적지 않아도 메일이 발송되도록 하려면 스킨 파일을 수정합니다. 테마에 따라 스킨 파일명이나 경로는 다를 수 있습니다.

  • 이메일 필드 강제 설정 (히든값 추가):기존에 있던 이메일 입력 폼은 삭제하고, 아래와 같이 관리자 메일 주소를 히든 필드로 강제 지정합니다.
    <input type="hidden" name="wr_email" value="<?php echo $config['cf_admin_email']?>">
    관리자 메일 주소 대신 직접 지정한 이메일을 넣을 수도 있습니다.
    <input type="hidden" name="wr_email" value="[email protected]">
  • 이메일 별도 입력:메일 주소를 직접 입력받아야 한다면 여분 필드를 활용할 수 있습니다.

2. 서버 사이드 로직 수정 방식 (/bbs/write_update.php)

/bbs/write_update.php 파일에서 이메일 값이 없을 때 관리자 메일로 대체되도록 로직을 수정합니다.

  • 코드 수정 위치 확인:/bbs/write_update.php 파일에서 아래 코드를 찾습니다.
    // 옵션에 메일받기가 체크되어 있고, 게시자의 메일이 있다면
    if (strstr($wr['wr_option'], 'mail') && $wr['wr_email']) $array_email[] = $wr['wr_email'];
  • 대체 코드 추가:위 내용 바로 위에 아래 코드를 추가합니다.
    if (!$wr_email) {
    $wr_email = $config['cf_admin_email'];
    }

3. 참고 사항 및 추가 점검

  • 둘 중 한 가지 방법만 선택하여 적용합니다.
  • 코드 수정 후에도 메일이 발송되지 않는다면 기본환경설정에서 메일발송 사용 체크 여부와 서버의 메일 발송 기능(SMTP 또는 sendmail) 구동 상태를 점검해야 합니다.

비회원 글 등록 메일 누락 해결 판단 가이드

내 상황선택 기준다음 행동
비회원 글 등록 시 관리자 메일이 누락됨이메일 입력 폼 존재 여부 확인폼이 없다면 스킨 수정 또는 서버 로직 수정 중 하나 선택
코드 수정 전 메일 발송 기능 자체가 의심됨관리자 페이지 테스트 메일 발송테스트 메일 미발송 시 서버 SMTP/sendmail 설정 점검
코드 수정 후에도 메일이 오지 않음게시판 설정 및 메일 발송 옵션 확인게시판 관리 내 '메일발송 사용' 체크 여부 재확인

실전 FAQ

Q. 스킨 수정과 서버 로직 수정 중 무엇이 더 나은가요?

  • 스킨 수정은 특정 게시판에만 적용할 때 유용하며, 서버 로직 수정은 사이트 전체 게시판에 일괄 적용할 때 효율적입니다. 두 방식을 혼용하면 중복 처리로 오류가 발생할 수 있으니 한 가지만 선택하세요.

Q. 수정 후에도 메일이 안 오는데, 다른 원인이 있을까요?

  • 서버 환경(sendmail/SMTP) 문제일 가능성이 큽니다. 관리자 페이지의 '메일 테스트' 기능을 통해 서버에서 메일 발송 자체가 가능한지 먼저 확인하세요. 테스트 메일조차 발송되지 않는다면 호스팅사에 메일 서버 구동 여부를 문의해야 합니다.

함께 보면 좋은 글

참고자료

기타 참고자료

댓글목록

등록된 댓글이 없습니다.