글을 들어가기에 앞서 필자는 naver의 smtp서버를 이용했고,
네이버 smtp 서버가 열려있어야한다.
require_once($_SERVER['DOCUMENT_ROOT'].'/common/lib/PHPMailer/PHPMailerAutoload.php');
$mail = new PHPMailer();
$mail->ContentType = "text/html";
//전송시 한글 깨짐 방지
$mail->Charset = 'UTF-8';
$mail->SMTPSecure = 'ssl';
$mail->isSMTP();
$mail->SMTPDebug = 2;
$subject = "제목";
$mail_from = "보내는 사람";
$mail_to = "받는 사람";
//제목과 보내는 사람 이름 등등은 직접적으로 인코딩 변경
$subject = "=?UTF-8?B?".base64_encode($subject)."?="."\r\n";
$mail_from = "=?UTF-8?B?".base64_encode($mail_from )."?="."\r\n";
$mail_to = "=?UTF-8?B?".base64_encode($mail_to)."?="."\r\n";
$message = "보내는 내용";
$mail->Debugoutput = 'html';
$mail->Host = 'smtp.naver.com';
$mail->Port = 465;
$mail->SMTPAuth = true;
$mail->Username = "Naver Email";
$mail->Password = "Naver Password";
$mail->setFrom('보내는 사람 이메일', $mail_from);
$mail->addReplyTo('보내는 사람 이메일', $mail_from);
$mail->addAddress('받는 사람 이메일', $mail_to);
$mail->Subject = $subject;
$mail->msgHTML($message, dirname(__FILE__));
$mail->AltBody = 'This is a plain-text message body';
if (!$mail->send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}
//만약 Charset을 변경해도 내용 쪽 한글이 깨질 경우
class.phpmailer.php 파일을 열어서
public $CharSet = 'iso-8859-1';
이 코딩을
public $CharSet = 'UTF-8';
네이버 smtp 서버가 열려있어야한다.
require_once($_SERVER['DOCUMENT_ROOT'].'/common/lib/PHPMailer/PHPMailerAutoload.php');
$mail = new PHPMailer();
$mail->ContentType = "text/html";
//전송시 한글 깨짐 방지
$mail->Charset = 'UTF-8';
$mail->SMTPSecure = 'ssl';
$mail->isSMTP();
$mail->SMTPDebug = 2;
$subject = "제목";
$mail_from = "보내는 사람";
$mail_to = "받는 사람";
//제목과 보내는 사람 이름 등등은 직접적으로 인코딩 변경
$subject = "=?UTF-8?B?".base64_encode($subject)."?="."\r\n";
$mail_from = "=?UTF-8?B?".base64_encode($mail_from )."?="."\r\n";
$mail_to = "=?UTF-8?B?".base64_encode($mail_to)."?="."\r\n";
$message = "보내는 내용";
$mail->Debugoutput = 'html';
$mail->Host = 'smtp.naver.com';
$mail->Port = 465;
$mail->SMTPAuth = true;
$mail->Username = "Naver Email";
$mail->Password = "Naver Password";
$mail->setFrom('보내는 사람 이메일', $mail_from);
$mail->addReplyTo('보내는 사람 이메일', $mail_from);
$mail->addAddress('받는 사람 이메일', $mail_to);
$mail->Subject = $subject;
$mail->msgHTML($message, dirname(__FILE__));
$mail->AltBody = 'This is a plain-text message body';
if (!$mail->send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}
//만약 Charset을 변경해도 내용 쪽 한글이 깨질 경우
class.phpmailer.php 파일을 열어서
public $CharSet = 'iso-8859-1';
이 코딩을
public $CharSet = 'UTF-8';
이렇게 변경해주면 해결된다.
'PHP' 카테고리의 다른 글
[PHP] $_SERVER[''] 정리 (0) | 2017.11.27 |
---|---|
[PHP] mySql 연결하기 (0) | 2017.11.27 |
[PHP] 이중 배열 정렬하는 방법 (0) | 2017.11.27 |
[PHP] CSV 형식 엑셀 100만건 데이터 처리 (0) | 2017.11.27 |
[PHP] 오늘 날짜가 이번년도의 몇주차인지 계산하기 (0) | 2017.11.27 |