현재 호스팅케이알 웹호스팅을 이용 중이고, 메일서버를 지원하지 않는다고 하여
게시판 문의하기 글 작성 시 '문의글 등록하였습니다.'와 같은 메일이 오지 않는 상황입니다.
우선 네이버 메일 환경설정에서 POP3/SMTP와 IMAP/SMTP 둘 다 사용함으로 설정했습니다.


// config.php
// SMTP
// lib/mailer.lib.php 에서 사용
define('G5_SMTP', 'smtp.naver.com');
define('G5_SMTP_PORT', '587');
define('G5_SMTP_SECURE', 'tls');
define('G5_SMTP_USER', '[email protected]');
define('G5_SMTP_PW', '-');
define('G5_SMTP_TIMEOUT', 10);
해당 비밀번호는 네이버 비밀번호가 아닌 2단계 인증 및 전용 애플리케이션 비밀번호에서 생성한 비밀번호 입력했습니다.
587&tls 아닌 465&ssl로 해도 메일이 안 옵니다..
// lib/mailer.lib.php
try {
$mail = new PHPMailer(true);
if (defined('G5_SMTP') && G5_SMTP) {
$mail->IsSMTP();
$mail->Host = G5_SMTP;
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;
$mail->Timeout = 10;
$mail->SMTPKeepAlive = false;
}
$mail->CharSet = 'UTF-8';
$mail->From = G5_SMTP_USER;
$mail->FromName = $fname;
if ($fmail) {
$mail->addReplyTo($fmail, $fname);
}
$mail->Subject = $subject;
$mail->AltBody = "";
$mail->msgHTML($content);
$mail->addAddress($to);
if ($cc) {
$mail->addCC($cc);
}
if ($bcc) {
$mail->addBCC($bcc);
}
if ($file != "") {
foreach ($file as $f) {
$mail->addAttachment($f['path'], $f['name']);
}
}
$mail = run_replace('mail_options', $mail, $fname, $fmail, $to, $subject, $content, $type, $file, $cc, $bcc);
$mail_send_result = $mail->send();
} catch (Exception $e) {
error_log('Mailer Exception: ' . $mail->ErrorInfo);
$mail_send_result = false;
}
그누보드 이전 문의글들과 구글링을 통해 위와 같이 코드 변경하고
여러 코드들로 시도해봤으나 메일이 안 옵니다..
메일 테스트로 발송 시, 아래 이미지와 같이
메일 발송이 완료되었다고는 하는데 메일이 수신이 안됩니다.

받은 메일함/보낸 메일함/스팸 메일함 다 확인해봤습니다!
같은 현상 겪으신 분들이나
도움 주실 수 있으신 분들이 계시다면 답변 부탁드립니다 ㅠ.ㅠ
긴 글 읽어주셔서 감사합니다!
답변 3개 / 댓글 2개
// lib/mailer.lib.php
에
$mail->From = $fmail
이런 코드가 있는데, 주석처리 하고 아래와 같이 하면 됩니다.
// $mail->From = $fmail;
$mail->From = G5_SMTP_USER;
네이버 공식 도움말도 외부 메일 프로그램 설정 시 이메일 주소/사용자 이름을 네이버 메일 주소로 넣도록 안내하고 있습니다.
https://help.naver.com/service/30029/contents/21349?lang=ko&osType=PC
답변에 대한 댓글 1개
답변에 대한 댓글 1개
호스팅사 문의해보니 웹호스팅에서는 SMTP가 차단 되어 있다고 합니다....
그래서 안됐나봐요 항상 도움 받고 있습니다 ㅎㅎ
답변 감사합니다!
예외 error_log 에러 안찍혀 있다면~
성공했을때 로그를 찍어보세요.. 여러가지사유로 안될 수 있어서.. 바운스되거나. soft fail 및 hard fail 이 있을 수 있습니다.
아마 로그인징 정상적으로 안되었것같은 의심은 되는데, 우선
디버그 모드로 로그를 남겨보고 어떻게 디버깅 할지 방향을 잡으시면 될꺼 같습니다.
// 디버그 레벨
$mail->SMTPDebug = 2;
// 디버그 출력 방식
$mail->Debugoutput = function($str, $level) {
$log = "[" . date('Y-m-d H:i:s') . "] "
. "LEVEL {$level}: {$str}\n";
file_put_contents(
__DIR__ . '/mail.log',
$log,
FILE_APPEND
);
};
답변을 작성하려면 로그인이 필요합니다.
친절한 답변 감사합니다!