테스트 사이트 - 개발 중인 베타 버전입니다

메일 발송주소 질문 채택완료

그루드 9개월 전 조회 1,771

</p>

<p>    // 최고관리자님께 메일 발송

    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);</p>

<p>        ob_start();

        include_once ('./register_form_update_mail2.php');

        $content = ob_get_contents();

        ob_end_clean();</p>

<p>        $content = run_replace('register_form_update_mail_admin_content', $content, $mb_id);</p>

<p>        <strong>mailer($mb_nick, $mb_email, <span style="color:#e74c3c;">$config['cf_admin_email']</span>, $subject, $content, 1);</strong></p>

<p>        run_event('register_form_update_send_admin_mail', $mb_nick, $mb_email, $config['cf_admin_email'], $subject, $content);

    }</p>

<p>

 

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

 

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

 

어떤걸 수정해야할까요? 

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
glitter0gim
9개월 전

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

 

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

http://sir.kr/data/editor/2501/1930905316_1736708003.2504.png" width="100%" />

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

 

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

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

 

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

 

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

 

= = = = = = = = = =

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

 

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

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

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

 

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

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

</p>

<p data-pm-slice="1 1 []">// 기본 관리 이메일 설정

define('G5_DEFAULT_ADMIN_EMAIL', '그루드@네이버닷컴');</p>

<p>

 

*/bbs/register_form_update.php 수정 예시

</p>

<p>// 최고관리자님께 메일 발송

if (!isset($config['cf_email_mb_super_admin']) || $config['cf_email_mb_super_admin']) {

    // 관리자 이메일 기본값 확인

    $admin_email = $config['cf_admin_email'] ?: G5_DEFAULT_ADMIN_EMAIL; // 기본 이메일 설정</p>

<p>    if (!filter_var($admin_email, FILTER_VALIDATE_EMAIL)) {

        error_log("Invalid admin email: $admin_email");

        alert("메일 발송 중 문제가 발생했습니다. 관리자에게 문의하세요.");

    }</p>

<p>    $subject = '['.$config['cf_title'].'] '.$mb_nick .' 님께서 회원으로 가입하셨습니다.';</p>

<p>    ob_start();

    try {

        include_once('./register_form_update_mail2.php');

        $content = ob_get_contents();

    } finally {

        ob_end_clean();

    }</p>

<p>    $content = run_replace('register_form_update_mail_admin_content', $content, $mb_id);</p>

<p>    mailer($mb_nick, $mb_email, $admin_email, $subject, $content, 1);</p>

<p>    run_event('register_form_update_send_admin_mail', $mb_nick, $mb_email, $admin_email, $subject, $content);

}</p>

<p>

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

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

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

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

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

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

9개월 전

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

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

 

</p>

<p>    // 회원님께 메일 발송</p>

<p>    if ($config['cf_email_mb_member']) {</p>

<p>        $subject = '['.$config['cf_title'].'] 회원가입을 축하드립니다.';</p>

<p> </p>

<p>        // 어떠한 회원정보도 포함되지 않은 일회용 난수를 생성하여 인증에 사용</p>

<p>        if ($config['cf_use_email_certify']) {</p>

<p>            $mb_md5 = md5(pack('V*', rand(), rand(), rand(), rand()));</p>

<p>            sql_query(" update {$g5['member_table']} set mb_email_certify2 = '$mb_md5' where mb_id = '$mb_id' ");</p>

<p>            $certify_href = G5_BBS_URL.'/email_certify.php?mb_id='.$mb_id.'&amp;mb_md5='.$mb_md5;</p>

<p>        }</p>

<p> </p>

<p>        ob_start();</p>

<p>        include_once ($misc_skin_path.'/register_form_update_mail1.php');</p>

<p>        $content = ob_get_contents();</p>

<p>        ob_end_clean();</p>

<p> </p>

<p>        mailer($config['cf_admin_email_name'], $config['cf_admin_email'], $mb_email, $subject, $content, 1);</p>

<p> </p>

<p>        // 메일인증을 사용하는 경우 가입메일에 인증 url이 있으므로 인증메일을 다시 발송되지 않도록 함</p>

<p>        if($config['cf_use_email_certify'])</p>

<p>            $old_email = $mb_email;</p>

<p>    }</p>

<p>

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인