메일 발송주소 질문

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
메일 발송주소 질문

QA

메일 발송주소 질문

본문


    // 최고관리자님께 메일 발송
    if ($config['cf_email_mb_super_admin']) {
        $subject = run_replace('register_form_update_mail_admin_subject', '['.$config['cf_title'].'] '.$mb_nick .' 님께서 회원으로 가입하셨습니다.', $mb_id, $mb_nick);
        ob_start();
        include_once ('./register_form_update_mail2.php');
        $content = ob_get_contents();
        ob_end_clean();
        $content = run_replace('register_form_update_mail_admin_content', $content, $mb_id);
        mailer($mb_nick, $mb_email, $config['cf_admin_email'], $subject, $content, 1);
        run_event('register_form_update_send_admin_mail', $mb_nick, $mb_email, $config['cf_admin_email'], $subject, $content);
    }

 

mailer($mb_nick, $mb_email, $config['cf_admin_email'], $subject, $content, 1);

 

에서 $config['cf_admin_email'] 을 제 메일주소로 바꾸면 제가 쓴건 저한테 오는데 다른 사람이 쓴건 메일이 안오더라고요.

 

어떤걸 수정해야할까요? 

이 질문에 댓글 쓰기 :

답변 2

아래 소스는 제가 쓰는 email 로 비번찾기 소스입니다.

적당히 편집해서 사용하세요

 


    // 회원님께 메일 발송
    if ($config['cf_email_mb_member']) {
        $subject = '['.$config['cf_title'].'] 회원가입을 축하드립니다.';
 
        // 어떠한 회원정보도 포함되지 않은 일회용 난수를 생성하여 인증에 사용
        if ($config['cf_use_email_certify']) {
            $mb_md5 = md5(pack('V*', rand(), rand(), rand(), rand()));
            sql_query(" update {$g5['member_table']} set mb_email_certify2 = '$mb_md5' where mb_id = '$mb_id' ");
            $certify_href = G5_BBS_URL.'/email_certify.php?mb_id='.$mb_id.'&mb_md5='.$mb_md5;
        }
 
        ob_start();
        include_once ($misc_skin_path.'/register_form_update_mail1.php');
        $content = ob_get_contents();
        ob_end_clean();
 
        mailer($config['cf_admin_email_name'], $config['cf_admin_email'], $mb_email, $subject, $content, 1);
 
        // 메일인증을 사용하는 경우 가입메일에 인증 url이 있으므로 인증메일을 다시 발송되지 않도록 함
        if($config['cf_use_email_certify'])
            $old_email = $mb_email;
    }

우선은 질문의 요지가 이해가 잘 안됩니다.

 

""" $config['cf_admin_email']을 제 메일주소로 바꾸면""" 이부분의 값은 '관리자 페이지'에서

1930905316_1736708003.2504.png

'관리자 메일 주소' 입력 필드에 이메일 주소를 입력하는 것입니다.

 

이 값은 데이터베이스 테이블(g5_config) 내의 컬럼(cf_admin_email)에 저장되고

저장된 값은 $config['cf_admin_email']로 불러와 사용됩니다.

 

. . . 특별히 코드를 커스터마이징할 부분은 아닌 듯합니다먄~

 

초심으로 돌아가서 '관리자 메일 주소' 입력 필드를 채워 보세요.

 

= = = = = = = = = =

그래도 커스터마이징이라면 아래를 참고하여 보세요.

 

$config['cf_admin_email'] 값 설정과 발송 로직에서

조건 검증이 제대로 이루어지지 않으니

특정 상황에 관리자에게 메일이 발송되지 않는 것입니다.

 

관리 메일(그루드"@"네이버닷컴)을 config에 담아 사용하시면~

config.php에 변수를 추가하여 사용하시면 어떨까요.

// 기본 관리 이메일 설정
define('G5_DEFAULT_ADMIN_EMAIL', '그루드@네이버닷컴');

 

*/bbs/register_form_update.php 수정 예시

// 최고관리자님께 메일 발송
if (!isset($config['cf_email_mb_super_admin']) || $config['cf_email_mb_super_admin']) {
    // 관리자 이메일 기본값 확인
    $admin_email = $config['cf_admin_email'] ?: G5_DEFAULT_ADMIN_EMAIL; // 기본 이메일 설정
    if (!filter_var($admin_email, FILTER_VALIDATE_EMAIL)) {
        error_log("Invalid admin email: $admin_email");
        alert("메일 발송 중 문제가 발생했습니다. 관리자에게 문의하세요.");
    }
    $subject = '['.$config['cf_title'].'] '.$mb_nick .' 님께서 회원으로 가입하셨습니다.';
    ob_start();
    try {
        include_once('./register_form_update_mail2.php');
        $content = ob_get_contents();
    } finally {
        ob_end_clean();
    }
    $content = run_replace('register_form_update_mail_admin_content', $content, $mb_id);
    mailer($mb_nick, $mb_email, $admin_email, $subject, $content, 1);
    run_event('register_form_update_send_admin_mail', $mb_nick, $mb_email, $admin_email, $subject, $content);
}

- 관리자 이메일 설정이 잘못되었거나 누락된 경우에도 기본값을 사용하여 메일 발송.

- 이 설정이 되면, 모든 회원 가입 이벤트에서 메일이 정상적으로 발송 됨.

- 오류 발생 시 알림 또는 로그를 통해 문제를 추적하고 해결할 수 있음.

위의 수정으로 기본값을 설정하고, 값 유효성을 검증하며,

모든 회원 가입 시 정상적으로 메일이 발송될 것입니다.

 

답변을 작성하시기 전에 로그인 해주세요.
전체 0
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT