[네이버][G5] 외부 메일로 네이버 메일 사용하기 > 기술자료 | 해피정닷컴

[네이버][G5] 외부 메일로 네이버 메일 사용하기 > 기술자료

본문 바로가기

사이트 내 전체검색

[네이버][G5] 외부 메일로 네이버 메일 사용하기 > 기술자료

그누보드 [네이버][G5] 외부 메일로 네이버 메일 사용하기

페이지 정보


본문

네이버 이메일을 그누보드 SMTP 외부메일 설정에서 사용하는 방법입니다.
환경설정 > 관리자메일 주소는 config.php 에 등록하는 네이버 메일주소와 일치해야 합니다.


네이버 2단계 인증관리 > 애플리케이션 등록
https://help.naver.com/service/5640/contents/8584?lang=ko


1. 구조도
그누보드 5
  ├  lib
  │     └ mailer.lib.php
  ├  plugin
  │     └  PHPMailer-6.9.3
  │               └ src
  │                      ├  DSNConfigurator.php
  │                      ├  Exception.php
  │                      ├  OAuth.php
  │                      ├  OAuthTokenProvider.php
  │                      ├  PHPMailer.php
  │                      ├  POP3.php
  │                      └  SMTP.php
  └  test_mail.php



2. 네이버 메일에서 SMTP 사용으로 변경

네이버 메일  >  환경설정  >  POS3/IMAP 설정  >  IMAP/SMTP 설정  페이지에서
POS3/SMTP 사용  >  사용함   으로 변경

 

3. /config.php 173 번째 줄에 있는
define('G5_SMTP',      '127.0.0.1');
define('G5_SMTP_PORT', '25');
 
를 아래와 같이 수정합니다.
 
define('G5_SMTP', 'smtp.naver.com');
define('G5_SMTP_PORT', '587');
define('G5_SMTP_SECURE', 'TLS');
define('G5_SMTP_USER', 'yourid@naver.com');
define('G5_SMTP_PW', 'yourpassword');  // 네이버 앱 비밀번호 (2단계 인증 앱비밀번호)
 


4. /lib/mailer.lib.php 19번째 줄
 
    $mail = new PHPMailer(); // defaults to using php "mail()"
    if (defined('G5_SMTP') && G5_SMTP) {
        $mail->IsSMTP(); // telling the class to use SMTP
        $mail->Host = G5_SMTP; // SMTP server
        if(defined('G5_SMTP_PORT') && G5_SMTP_PORT)
            $mail->Port = G5_SMTP_PORT;
    }
 
를 아래와 같이 수정합니다.
 
    $mail = new PHPMailer(); // defaults to using php "mail()"
    if (defined('G5_SMTP') && G5_SMTP) {
        $mail->IsSMTP(); // telling the class to use SMTP
        $mail->Host = G5_SMTP; // SMTP server
        //if(defined('G5_SMTP_PORT') && G5_SMTP_PORT)
        //    $mail->Port = G5_SMTP_PORT;
        if(defined('G5_SMTP_PORT') && G5_SMTP_PORT) {
            $mail->Port = G5_SMTP_PORT;
        }
        $mail->SMTPAuth = true;
        $mail->AuthType = "LOGIN";
        $mail->SMTPSecure = G5_SMTP_SECURE;
        $mail->Username = G5_SMTP_USER;
        $mail->Password = G5_SMTP_PW;
    }



5. 그누보드5  >  환경설정  >  메일 테스트
다양한 메일 계정으로 테스트 발송
네이버, 다음(카카오), 구글 등



6. 일반 페이지에서 사용하기
일반페이지에서 사용할때는 별도로 만든 mailer 를 사용하는것이 좋습니다.
PHPMailer 다운로드 후 plugin 폴더에 업로드
PHPMailer 최신버전을 다운로드 : https://github.com/PHPMailer/PHPMailer



7. lib / mailer_naver.lib.php  파일 생성

<?php
if (!defined('_GNUBOARD_')) exit;
include_once("_common.php");
// lib 폴더에 PHPMailer 업로드
// PHPMailer 다운로드 : https://github.com/PHPMailer/PHPMailer

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
use PHPMailer\PHPMailer\SMTP;

function mailer_naver($to_email, $to_name, $from_email, $from_name, $subject, $content, $is_html = true) {
    require_once(G5_PLUGIN_PATH . '/PHPMailer-6.9.3/src/PHPMailer.php)';
    require_once(G5_PLUGIN_PATH . '/PHPMailer-6.9.3/src/SMTP.php)';
    require_once(G5_PLUGIN_PATH . '/PHPMailer-6.9.3/src/Exception.php)';

    $mail = new PHPMailer(true);

    try {
        // SMTP 설정
        $mail->isSMTP();
        $mail->Host = 'smtp.naver.com';
        $mail->SMTPAuth = true;
        //$mail->Username = 'yourid@naver.com';  // 네이버 이메일 주소
        //$mail->Password = 'yourpassword';  // 네이버 앱 비밀번호 (2단계 인증 앱비밀번호)
        $mail->Username = G5_SMTP_USER;  // 네이버 이메일 주소
        $mail->Password = G5_SMTP_PW;  // 네이버 앱 비밀번호 (2단계 인증 앱비밀번호) // 의료입자방사선연구회
        $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; // SSL
        $mail->Port = '465'; // 네이버 SMTP 포트

        // 한글 깨짐 방지
        $mail->CharSet = 'UTF-8';
        $mail->Encoding = 'base64';

        // 보내는 사람 설정
        $mail->setFrom($from_email, '=?UTF-8?B?'.base64_encode($from_name).'?=');
        $mail->addAddress($to_email, '=?UTF-8?B?'.base64_encode($to_name).'?=');

        // 메일 제목 한글 깨짐 방지
        $mail->Subject = '=?UTF-8?B?'.base64_encode($subject).'?=';

        // HTML 메일 여부 설정
        $mail->isHTML($is_html);
        $mail->Body = $content;

        // 메일 전송
        return $mail->send();
    } catch (Exception $e) {
        error_log('메일 발송 실패: ' . $mail->ErrorInfo);
        return false;
    }
}



8. test_mail.php  만들어서 웹브라우저로 실행

<?php
include_once('./common.php');

$from_email = $config['cf_admin_email']; // 환경설정에 등록된 이메일주소
$from_name  = $config['cf_admin_email_name']; // 환경설정에 등록된 이름
$to_email   = '받는_이메일주소';  // 받을 이메일 주소
$to_name    = '받는_이름'; // 받는 이름
$mail_subject = 'Title 네이버 SMTP 테스트 메일'; // 이메일 제목
$mail_content = '<p>Message 이메일이 정상적으로 발송되었습니다.</p>'; // 이메일 내용

include_once(G5_LIB_PATH . '/mailer_naver.lib.php');
if (mailer_naver($to_email, $to_name, $from_email, $from_name, $subject, $content)) {
    echo '이메일이 정상적으로 발송되었습니다.';
} else {
    echo '이메일 발송에 실패했습니다.';
}

 
 관련자료
https://sir.kr/g5_tip/22471

댓글목록

등록된 댓글이 없습니다.


Total 460건 1 페이지
  • RSS
기술자료 목록
열람
그누보드   117  2025-02-07 08:55 ~ 2025-02-07 17:04  
459
그누보드   427  2024-11-26 21:14 ~ 2024-11-26 21:22  
458
그누보드   500  2024-11-22 10:52 ~ 2024-11-22 11:03  
457
그누보드   1429  2024-02-23 18:40 ~ 2024-02-24 06:13  
456
그누보드   2558  2023-11-06 20:38  
455
그누보드   3552  2023-04-07 18:22 ~ 2023-04-07 18:40  
454
그누보드   3529  2023-04-07 08:45 ~ 2023-04-07 10:00  
453
그누보드   4186  2023-04-06 22:37  
452
그누보드   3932  2023-02-03 16:25  
451
그누보드   2537  2023-01-20 19:39 ~ 2023-01-20 23:13  
450
그누보드   3325  2023-01-06 10:36  
449
그누보드   3241  2022-12-31 09:25 ~ 2024-02-05 13:25  
448
그누보드   3909  2022-11-10 20:41 ~ 2022-11-14 01:03  
447
그누보드   3802  2022-10-07 20:11  
446
그누보드   4145  2022-06-11 00:52  
445
그누보드   3722  2022-05-27 11:42 ~ 2022-05-27 11:44  
444
그누보드   5528  2022-01-25 12:27 ~ 2022-02-01 09:59  
443
그누보드   5330  2021-12-22 08:54 ~ 2021-12-22 08:56  
442
그누보드   4133  2021-12-14 07:05  
441
그누보드   5071  2021-11-21 05:59 ~ 2021-11-24 00:20  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2025 해피정닷컴. All Rights Reserved.