폼메일 한글깨짐 문의드려요~

폼메일 한글깨짐 문의드려요~

QA

폼메일 한글깨짐 문의드려요~

본문

폼메일로 문의글 받으려고 하는데요 ㅜㅜ

왜 메일에서 받으면 한글이 깨져 보이는거죠? ㅜㅜ

아래 보고 문제점좀 알려주시면 감사하겠습니다.

 

그리거 스팸으로 들어가는데 이유좀 알수 있을까요?

 

<?
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 = "*** 개인정보보호를 위한 이메일주소 노출방지 ***";

 

// 구분자 생성
$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 .= "<table width='700' cellpadding='0' cellspacing='0' style='border:1px solid #cccccc;'>";
$mailcontent .= "<tr><td height='30' bgcolor='#f0f0f0' align='left'>  이름</td><td width='600'>  ".$fromName."</td></tr>";
$mailcontent .= "<tr><td height='30' bgcolor='#f0f0f0' align='left'>  이벤트</td><td width='600'>  ".$choice."</td></tr>";
$mailcontent .= "<tr><td colspan='2' style='height:1px;background:#ccc;'></td></tr>";
$mailcontent .= "<tr><td height='30' bgcolor='#f0f0f0' align='left'>  전화번호</td><td width='600'>  ".$tel1."-".$tel2."-".$tel3."</td></tr>";
if($file_name){
 $mailcontent .= "<tr><td colspan='2' style='height:1px;background:#ccc;'></td></tr>";
 $mailcontent .= "<tr><td height='30' bgcolor='#f0f0f0' align='left'>  첨부파일</td><td width='600'>  <a href='http://chubascocompany.com/web/upload".$file_name."'>".$file_name."</a></td></tr>";
}
$mailcontent .= "</table>";

// 본문
$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 "<script>
  alert('".$msg."');
  history.back(-1);
  </script>";
}
else {
 $msg = "메일 보내기 실패, 고객센터로 문의 주시기 바랍니다.";
 //$msg = iconv("utf-8","euc-kr",$msg);
 
 echo "<script>
  alert('$msg');
 history.back(-1);
  </script>";
}
?>

이 질문에 댓글 쓰기 :

답변 2

일단은 현재 php 문서 파일을 저장할때 UTF-8로 저장했는지 확인하시고요.

소스 중에서는

$mailbody .= "Content-Type: text/html; charset=euckr\r\n";

부분을

$mailbody .= "Content-Type: text/html; charset=utf-8\r\n";

로 변경해 보시고요.

현재 사이트가 웹호스팅을 받고 있는 사이트라면 업체에 확인해 보시고요.

개인 컴퓨터에서 도메인을 운영하신다면

화이트 도메인으로 추가해서 스팸으로 처리되는 것을 막아야 할 겁니다.

화이트 도메인 추가는 아래의 링크를 참조하세요.

http://ooz.co.kr/1

메일 한글깨지는 문제는 인코딩 문제로 보여지며

스팸으로 가는이유는 화이트도메인을 등록해 주셔야 합니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 123,479 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT