728x90
300x250
PHP 에서 메일보내주는 mail 함수는 다들 아실텐데.. 난 이놈 때문에 오늘 하루 다날렸다
Naver, Nate, Gmail , 사내메일까지 다 포함 싸그리 잘만 들어가는데 유독 Daum (Hanmail) 에만 메일이 안들어가기도했고, 스팸으로 무조건 빠지는 문제도 있었다
Linux 푸티로 접속하여 아래 명령어로 로그 확인을 해보자
cat /var/log/maillog
아래 처럼 나온다
자세한건 모르겠는데 여튼 아래와 비스무리하게 나와야 정상적으로 메일이 발송되는거고
stat=Sent (04E7oJCu024020 Message accepted for delivery)
아래 처럼 나오면 발송실패한거다
stat=Service unavailable
구글링 암만해봐도 나한테 도움된건 없었다..
여튼 한메일만 제외하고 나머지 타 도메인들은 메일 잘만들어오는 상태였고 .. 진짜 미칠노릇이었는데
딱히 메일환경설정에서 바꾼건 없었고
Header 쪽을 좀 찾고 찾으면서 아래처럼 다듬어주니까 한메일에도 메일이 왔다
<?
//메일 수신주소
$toEmail = "example@hanmail.net";
//제목
$subject="메일 테스트 세번째";
//내용
$content="내용이 들어갑니다";
//한글 안깨지게 만들어줌
$subject = "=?UTF-8?B?".base64_encode($subject)."?=";
$headers .= 'From: 보낸사람@보낸도메인.com '. "\r\n";
$headers .= 'Reply-To: 보낸사람@보낸도메인.com ' . "\r\n";
// Return Path는 PHP 5.2 에서까지만 쓰였다는것 같다 의미없음
//$headers .= 'Return-Path: 보낸사람@보낸도메인.com ' . "\r\n";
//참조
//$headers .= 'CC: 보낸사람@보낸도메인.com ' ."\r\n";
//숨은참조
//$headers .= 'BCC: 보낸사람@보낸도메인.com ' . "\r\n";
$headers .= 'Organization: Sender Organization ' . "\r\n";
$headers .= 'MIME-Version: 1.0 ' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8 ' . "\r\n";
$headers .= 'X-Priority: 3 ' ."\r\n" ;
$headers .= 'X-Mailer: PHP". phpversion() ' ."\r\n" ;
$mailResult = mail($toEmail, $subject, $content, $headers);
if($mailResult) {
echo "발송완료";
}else{
echo "발송X";
}
?>
정렬무엇 .. 수정창에서는 일직선인데 ..
보낸메일주소 앞에 이름써주면 보낸사람이름도 잘 들어오는것도 확인이 되었다..
참 알고나니 별거 아니었는데 허허 ..
*특이사항
타 도메인보다 한메일이 메일 오는게 매우 느리다 적게는 2,3분 많게는 5분이나 늦게 온다
왜 타 사이트 가입신청할때 웬만하면 한메일로는 하지말라고 문구가 써있었는지 이거 하면서 왠지 알거같다 ㅎㅎ;
728x90
300x250