폼메일 한글깨짐 문의드려요~ 채택완료
폼메일로 문의글 받으려고 하는데요 ㅜㅜ
왜 메일에서 받으면 한글이 깨져 보이는거죠? ㅜㅜ
아래 보고 문제점좀 알려주시면 감사하겠습니다.
그리거 스팸으로 들어가는데 이유좀 알수 있을까요?
header("Content-type: text/html; charset=utf-8"); $up_dir = "./upload"; // 기본 업로드 폴더
$cname = $_POST['cname']; $fromName = $_POST['cname']; $choice = $_POST['choice']; $tel1 = $_POST['tel1']; $tel2 = $_POST['tel2']; $tel3 = $_POST['tel3']; $fromMail = $_POST['email']; $subject = '진료문의'; $content = $_POST['content'];
$mailTo = "hxxx@nate.com";
// 구분자 생성 $boundary = "----" . uniqid("part");
// HEADER 생성 $header = ""; $header .= "Return-Path: $fromMail\r\n"; // 반송 메일 주소 $header .= "from: ".$fromName." <$fromMail>\r\n"; // 보내는 사람 이름, 메일주소
// 첨부파일이 있는 경우 if(isset($_FILES['upfile']['tmp_name']) && $_FILES['upfile']['tmp_name']){ $file_name = time() . "_" . $_FILES['upfile']['name']; $ext = strtolower(substr($file_name, (strrpos($file_name, '.') + 1))); $save_dir = sprintf('%s/%s', $up_dir, $file_name); $save_url = sprintf('%s/%s', $up_url, $file_name); move_uploaded_file($_FILES["upfile"]["tmp_name"],$save_dir); }
// HEADER 작성 $header .= "MIME-Version: 1.0\r\n"; $header .= "Content-Type: Multipart/alternative; boundary = \"$boundary\"";
// 메일 내용 $mailcontent = ""; $mailcontent .= "
| 이름 | ".$fromName." |
| 이벤트 | ".$choice." |
| 전화번호 | ".$tel1."-".$tel2."-".$tel3." |
| 첨부파일 | ".$file_name." |
// 본문 $mailbody = ""; $mailbody .= "--$boundary\r\n"; $mailbody .= "Content-Type: text/html; charset=euckr\r\n"; $mailbody .= "Content-Transfer-Encoding: 8bit\r\n\r\n"; $mailbody .= nl2br($mailcontent) . "\r\n";
$mailbody .= "--$boundary--\r\n\r\n";
$result = mail($mailTo,$subject,$mailbody,$header);
if($result){ $msg = "상담신청완료, 감사합니다. 확인후 연락드리겠습니다. "; //$msg = iconv("ANSI","utf-8",$msg); //$msg = iconv("UTF-8", "EUC-KR", $msg); //echo $msg; //exit; //$encoding = mb_detect_encoding($msg,array("UTF-8","EUC-KR"));
//echo $encoding; //exit;
echo ""; } else { $msg = "메일 보내기 실패, 고객센터로 문의 주시기 바랍니다."; //$msg = iconv("utf-8","euc-kr",$msg); echo ""; } ?>
답변 2개
일단은 현재 php 문서 파일을 저장할때 UTF-8로 저장했는지 확인하시고요.
소스 중에서는
$mailbody .= "Content-Type: text/html; charset=euckr\r\n";
부분을
$mailbody .= "Content-Type: text/html; charset=utf-8\r\n";
로 변경해 보시고요.
현재 사이트가 웹호스팅을 받고 있는 사이트라면 업체에 확인해 보시고요.
개인 컴퓨터에서 도메인을 운영하신다면
화이트 도메인으로 추가해서 스팸으로 처리되는 것을 막아야 할 겁니다.
화이트 도메인 추가는 아래의 링크를 참조하세요.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인