Files
sam-kd/email/test_basic_password.php
hskwon aca1767eb9 초기 커밋: 5130 레거시 시스템
- URL 하드코딩 → .env APP_URL 기반 동적 URL로 변경
- DB 연결 하드코딩 → .env 기반으로 변경
- MySQL strict mode DATE 오류 수정
2025-12-10 20:14:31 +09:00

106 lines
3.8 KiB
PHP

<?php
// 기본 비밀번호로 SMTP 연결 테스트
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require $_SERVER['DOCUMENT_ROOT'] . '/vendor/autoload.php';
function testBasicPassword() {
$mail = new PHPMailer(true);
try {
// 디버그 모드 활성화
$mail->SMTPDebug = 2;
$mail->isSMTP();
$mail->Host = 'smtp.naver.com';
$mail->SMTPAuth = true;
$mail->Username = 'kd5130@naver.com';
$mail->Password = 'kd9835130'; // 기본 비밀번호 테스트
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
$mail->Port = 465;
$mail->CharSet = 'UTF-8';
echo "<h3>기본 비밀번호로 SMTP 연결 테스트</h3>";
// 연결 테스트
$mail->smtpConnect();
echo "<p style='color: green;'>✅ 기본 비밀번호로 연결 성공!</p>";
// 간단한 테스트 메일 전송 시도
$mail->setFrom('kd5130@naver.com', '테스트');
$mail->addAddress('kd5130@naver.com'); // 자기 자신에게 테스트
$mail->Subject = 'SMTP 테스트';
$mail->Body = '기본 비밀번호로 전송 테스트입니다.';
$mail->send();
echo "<p style='color: green;'>✅ 기본 비밀번호로 메일 전송 성공!</p>";
} catch (Exception $e) {
$error = $e->getMessage();
echo "<p style='color: red;'>❌ 오류: " . htmlspecialchars($error, ENT_QUOTES, 'UTF-8') . "</p>";
// 오류 메시지 분석
if (strpos($error, '535') !== false || strpos($error, 'authentication') !== false) {
echo "<p style='color: orange;'>⚠️ 인증 오류 - 앱 비밀번호가 필요할 수 있습니다.</p>";
} elseif (strpos($error, 'connection') !== false) {
echo "<p style='color: orange;'>⚠️ 연결 오류 - 네트워크 또는 포트 문제일 수 있습니다.</p>";
}
}
}
function testDifferentPorts() {
echo "<h3>다양한 포트로 연결 테스트</h3>";
$ports = array(
465 => 'SMTPS (SSL)',
587 => 'SMTP (TLS)',
25 => 'SMTP (일반)'
);
foreach ($ports as $port => $description) {
$mail = new PHPMailer(true);
try {
$mail->SMTPDebug = 0; // 디버그 비활성화
$mail->isSMTP();
$mail->Host = 'smtp.naver.com';
$mail->SMTPAuth = true;
$mail->Username = 'kd5130@naver.com';
$mail->Password = 'kd9835130';
if ($port == 465) {
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
} elseif ($port == 587) {
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
} else {
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
}
$mail->Port = $port;
$mail->CharSet = 'UTF-8';
$mail->smtpConnect();
echo "<p style='color: green;'>✅ 포트 $port ($description): 연결 성공</p>";
} catch (Exception $e) {
echo "<p style='color: red;'>❌ 포트 $port ($description): " . htmlspecialchars($e->getMessage(), ENT_QUOTES, 'UTF-8') . "</p>";
}
}
}
echo "<h2>네이버 SMTP 연결 테스트 (기본 비밀번호)</h2>";
echo "<p><strong>테스트 계정:</strong> kd5130@naver.com</p>";
echo "<p><strong>테스트 비밀번호:</strong> kd9835130</p>";
testBasicPassword();
testDifferentPorts();
echo "<hr>";
echo "<h3>결론:</h3>";
echo "<p>1. 기본 비밀번호가 작동한다면 → 2단계 인증이 필요 없음</p>";
echo "<p>2. 인증 오류가 발생한다면 → 앱 비밀번호 필요</p>";
echo "<p>3. 연결 오류가 발생한다면 → 네트워크/포트 문제</p>";
?>