폼메일 수신자 제목 이상
본문
폼메일을 사용하는데 제목이 이상하게 뜹니다..
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
require __DIR__ . '/lib/PHPMailer/src/PHPMailer.php';
require __DIR__ . '/lib/PHPMailer/src/Exception.php';
require __DIR__ . '/lib/PHPMailer/src/SMTP.php';
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
include_once('./_common.php');
include_once(G5_CAPTCHA_PATH.'/captcha.lib.php');
if (!chk_captcha()) {
alert('자동등록방지 숫자가 틀렸습니다.');
}
if (isset($_POST['email'])) {
$email_to = "*** 개인정보보호를 위한 이메일주소 노출방지 ***"; // 수신메일
$email_subject = "[나무 속 자연공작소] {$_POST['first_name']} 님의 문의사항. {$_POST['mainlTitle']}";
$email_subject = '=?UTF-8?B?' . base64_encode($email_subject) . '?=';
if (!isset($_POST['first_name']) ||
!isset($_POST['phone']) ||
!isset($_POST['email']) ||
!isset($_POST['mainlTitle']) ||
!isset($_POST['comments']) ||
!isset($_POST['agree'])) {
die('Sorry.\nThere is a problem with the form you submitted.\nPlease check the form again.');
}
$first_name = $_POST['first_name']; // required
$phone = $_POST['phone']; // not required
$email = $_POST['email']; // required
$comments = $_POST['comments']; // required
$mainlTitle = $_POST['mainlTitle']; // required
$group = isset($_POST['group']) ? implode(', ', $_POST['group']) : ''; // 다중체크
$agree = $_POST['agree']; // required
function clean_string($string) {
$bad = array("content-type", "bcc:", "to:", "cc:", "href");
return str_replace($bad, "", $string);
}
$email_message = "성명 : " . clean_string($first_name) . "<br><br>";
$email_message .= "연락처 : " . clean_string($phone) . "<br><br>";
$email_message .= "E-mail : " . clean_string($email) . "<br><br>";
$email_message .= "제목 : " . clean_string($mainlTitle) . "<br><br>";
$email_message .= "분야 : " . clean_string($group) . "<br><br>"; // 다중체크
$email_message .= "문의 내용 : " . clean_string($comments) . "<br><br>";
$email_message .= "개인정보처리방침 : " . clean_string($agree) . "<br><br>";
// PHPMailer setup
$mail = new PHPMailer(true);
try {
// Server settings
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth = true;
$mail->Username = '*** 개인정보보호를 위한 이메일주소 노출방지 ***'; // Your Gmail address
$mail->Password = 'orqscwfrxfrxoenf'; // Your Gmail password or App Password
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->Port = 587;
// Recipients
$mail->setFrom('*** 개인정보보호를 위한 이메일주소 노출방지 ***', '한국세라프');
$mail->addAddress($email_to);
// Content
$mail->isHTML(true);
$mail->Subject = $email_subject;
$mail->Body = $email_message;
$mail->send();
// Use header for redirect after PHP execution
header("Location: /home/sub04_04.php");
exit();
} catch (Exception $e) {
echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
}
}
?>
답변 3
저 오류는 인코딩 오류로 보여집니다.
제가 전에 이랬던 기억이 있는데 혹시 파일 열었을때 euc-kr로 저장하셨는지 확인한번 해보셔요
이전에 인코딩 맞추고 나서 해결됬던 기억이 있습니다.
인코딩 체크하세요
답변을 작성하시기 전에 로그인 해주세요.