[비밀번호찾기에 gmail 메일설정 이용하기] > 그누보드5 플러그인

그누보드5 플러그인

그누보드는 다양한 기능을 추가하기 쉽습니다.

[비밀번호찾기에 gmail 메일설정 이용하기] 정보

[비밀번호찾기에 gmail 메일설정 이용하기]

첨부파일

PHPMailer.zip (205.6K) 25회 다운로드 2023-11-19 23:23:32
테스트한 버전5.4.2
호환 가능 버전5.3 이상

본문

비밀번호찾기 에서 메일전송시 gmail smtp 이용하는 방법

 

= 구글 2차인증하기 그대로 설정

https://sir.kr/g5_plugin/11719

 

/lib 폴더밑에 해당 phpmailer 파일 업로드이후에 이용해주세요

 

 

비밀번호찾기 에서 메일전송시 gmail smtp 이용하는 방법

= 구글 2차인증하기 그대로 설정

https://sir.kr/g5_plugin/11719

/lib 폴더밑에 해당 phpmailer 파일 업로드이후에 이용해주세요

 


<?php
include_once('./_common.php');
include_once(G5_CAPTCHA_PATH.'/captcha.lib.php');
//include_once(G5_LIB_PATH.'/mailer.lib.php');
include_once(G5_LIB_PATH.'/PHPMailer/PHPMailerAutoload.php');
if ($is_member) {
    alert_close('이미 로그인중입니다.', G5_URL);
}
if (!chk_captcha()) {
    alert('자동등록방지 숫자가 틀렸습니다.');
}
$email = get_email_address(trim($_POST['mb_email']));
if (!$email)
    alert_close('메일주소 오류입니다.');
$sql = " select count(*) as cnt from {$g5['member_table']} where mb_email = '$email' ";
$row = sql_fetch($sql);
if ($row['cnt'] > 1)
    alert('동일한 메일주소가 2개 이상 존재합니다.\\n\\n관리자에게 문의하여 주십시오.');
$sql = " select mb_no, mb_id, mb_name, mb_nick, mb_email, mb_datetime, mb_leave_date from {$g5['member_table']} where mb_email = '$email' ";
$mb = sql_fetch($sql);
if (empty($mb['mb_id']) || $mb['mb_leave_date']) {
    alert('존재하지 않는 회원입니다.');
} elseif (is_admin($mb['mb_id'])) {
    alert('관리자 아이디는 접근 불가합니다.');
}
// 임시비밀번호 발급
$change_password = rand(100000, 999999);
$mb_lost_certify = get_encrypt_string($change_password);
// 어떠한 회원정보도 포함되지 않은 일회용 난수를 생성하여 인증에 사용
$mb_nonce = md5(pack('V*', rand(), rand(), rand(), rand()));
// 임시비밀번호와 난수를 mb_lost_certify 필드에 저장
$sql = " update {$g5['member_table']} set mb_lost_certify = '$mb_nonce $mb_lost_certify' where mb_id = '{$mb['mb_id']}' ";
sql_query($sql);
// 인증 링크 생성
$href = G5_BBS_URL.'/password_lost_certify.php?mb_no='.$mb['mb_no'].'&mb_nonce='.$mb_nonce;
$subject = "[".$config['cf_title']."] 요청하신 회원정보 찾기 안내 메일입니다.";
$content = "";
$content .= '<div style="margin:30px auto;width:600px;border:10px solid #f7f7f7">';
$content .= '<div style="border:1px solid #dedede">';
$content .= '<h1 style="padding:30px 30px 0;background:#f7f7f7;color:#555;font-size:1.4em">';
$content .= '회원정보 찾기 안내';
$content .= '</h1>';
$content .= '<span style="display:block;padding:10px 30px 30px;background:#f7f7f7;text-align:right">';
$content .= '<a href="'.G5_URL.'" target="_blank">'.$config['cf_title'].'</a>';
$content .= '</span>';
$content .= '<p style="margin:20px 0 0;padding:30px 30px 30px;border-bottom:1px solid #eee;line-height:1.7em">';
$content .= addslashes($mb['mb_name'])." (".addslashes($mb['mb_nick']).")"." 회원님은 ".G5_TIME_YMDHIS." 에 회원정보 찾기 요청을 하셨습니다.<br>";
$content .= '저희 사이트는 관리자라도 회원님의 비밀번호를 알 수 없기 때문에, 비밀번호를 알려드리는 대신 새로운 비밀번호를 생성하여 안내 해드리고 있습니다.<br>';
$content .= '아래에서 변경될 비밀번호를 확인하신 후, <span style="color:#ff3061"><strong>비밀번호 변경</strong> 링크를 클릭 하십시오.</span><br>';
$content .= '비밀번호가 변경되었다는 인증 메세지가 출력되면, 홈페이지에서 회원아이디와 변경된 비밀번호를 입력하시고 로그인 하십시오.<br>';
$content .= '로그인 후에는 정보수정 메뉴에서 새로운 비밀번호로 변경해 주십시오.';
$content .= '</p>';
$content .= '<p style="margin:0;padding:30px 30px 30px;border-bottom:1px solid #eee;line-height:1.7em">';
$content .= '<span style="display:inline-block;width:100px">회원아이디</span> '.$mb['mb_id'].'<br>';
$content .= '<span style="display:inline-block;width:100px">변경될 비밀번호</span> <strong style="color:#ff3061">'.$change_password.'</strong>';
$content .= '</p>';
$content .= '<a href="'.$href.'" target="_blank" style="display:block;padding:30px 0;background:#484848;color:#fff;text-decoration:none;text-align:center">비밀번호 변경</a>';
$content .= '</div>';
$content .= '</div>';
$mail_content=$content;
//mailer($config['cf_admin_email_name'], $config['cf_admin_email'], $mb['mb_email'], $subject, $content, 1);
$to = $email;//$_POST['mb_id'];
// 이메일보내기 : 이메일보내면서 이메일과 인증키값을 db에 저장하고 나중에 확인해서 회원가입처리
if($to) {
    try {
        $mail = new PHPMailer(); // defaults to using php "mail()"
        $mail->IsSMTP(); // telling the class to use SMTP
        //$mail->SMTPDebug = 2;
            $mail->SMTPDebug  = SMTP::DEBUG_OFF;
        $mail->SMTPAuth   = true;                                   // Enable SMTP authentication
        $mail->SMTPKeepAlive = true;
        $mail->Host = 'smtp.gmail.com';
        $mail->Username = '사용자이메일';// 
        $mail->Password = '2차인증코드'; 
        // $mail->Port  = '587'; // SMTP server
        $mail->Port  = '465'; // SMTP server
        // $mail->SMTPSecure = 'tls';
        $mail->SMTPSecure = 'ssl';
        // $mail->Mailer = "smtp";
        $mail->CharSet = 'UTF-8';
        $mail->Encoding = 'base64';

        $mail->setFrom($fmail, $fname);
        $mail->addAddress($to);
        $mail->isHTML(true);
        $mail->Subject = $mail_subject;
        $mail->Body    = $mail_content;
        $result = $mail->send();
        
    } catch (Exception $e) {
    }
}
run_event('password_lost2_after', $mb, $mb_nonce, $mb_lost_certify);
alert_close($email.' 메일로 회원아이디와 비밀번호를 인증할 수 있는 메일이 발송 되었습니다.\\n\\n메일을 확인하여 주십시오.');
 

 

추천
0

댓글 전체

전체 504
그누보드5 플러그인 내용 검색

회원로그인

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