묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
폼메일 문제 해결방법이 있을까요?
2009.07.09 19:41
사용하고 있는 제로보드는 1.1.5 버전입니다. 홈페이지에 "폼메일"을 달았는데요.
몇가지 문제점이 있어 해결방법을 여쭙니다.
문제점 1) 메일을 받으면 '보낸이 이름'이 외계어로 깨집니다.
내용은 한글로 제대로 보여지는데 메일 헤더부분이 깨지네요.
파일은 html과 php파일 모두 캐릭터셋은 UTP-8로 되어있구요.
메일 헤더부분의 텍스트가 깨지지 않게 하려면?
문제점 2) 메일 헤더부분의 제목이 'No Subject'라고 뜨는데요.
SUBJECT를 설정을 하면 '보낸이 이름'과 같이 외계어로 깨집니다.
메일 헤더부분의 텍스트가 깨지지 않게 하려면?
문제점 3) 메일을 받으면, SPAM (GMAIL) 혹은 JUCK (HOTMAIL)메일로 분류가 됩니다.
INDEX로 받게 할 수 있는 방법이 있을까요?
현재 해결하고 싶은 문제는 위 3가지 정도 입니다.
혹시 이 문제에 대해서 아시는분들 답변 좀 부탁드립니다.
폼메일에서 내용입력하는 HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Untitled Document</title> <link href="http://www.belleaim.com/formmail/css/default.css" rel="stylesheet" type="text/css"> </head> <body> <!-- 콘텐츠내용:시작 --> <div id="pageTitle"><img src="http://www.belleaim.com/formmail/images/pageTitle_mailConsult.gif" alt="Page Title Mail Consult"></div> <form action="http://www.belleaim.com/formmail/mail_send.php" method="post" name="mem_form" id="mem_form" onSubmit="return check(this)"> <div id="mailForm"> <table> <tr> <th>이름</th> <td><input name="user_name" type="text" id="user_name" size="20" value="" /></td> </tr> <tr> <th>이메일</th> <td><input name="user_mail" type="text" id="user_mail" size="20" value="" /> @ <SELECT name="user_mail2" id="user_mail2"> <option value="hotmail.com" selected='selected'>hotmail.com</option> <option value="naver.com" >naver.com</option> <option value="chol.com" >chol.com</option> <option value="dreamwiz.com" >dreamwiz.com</option> <option value="empal.com" >empal.com</option> <option value="freechal.com" >freechal.com</option> <option value="gmail.com" >gmail.com</option> <option value="hanafos.com" >hanafos.com</option> <option value="hanmail.net" >hanmail.net</option> <option value="hanmir.com" >hanmir.com</option> <option value="hitel.net" >hitel.net</option> <option value="korea.com" >korea.com</option> <option value="lycos.co.kr" >lycos.co.kr</option> <option value="nate.com" >nate.com</option> <option value="netian.com" >netian.com</option> <option value="paran.com" >paran.com</option> <option value="yahoo.com" >yahoo.com</option> <option value="yahoo.co.kr" >yahoo.co.kr</option> </select> </td> </tr> <tr> <th>핸드폰번호</th> <td><SELECT name="user_hp1" id="user_hp1"> <OPTION value="010" selected>010</OPTION> <OPTION value=011>011</OPTION> <OPTION value=016>016</OPTION> <OPTION value=017>017</OPTION> <OPTION value=018>018</OPTION> <OPTION value=019>019</OPTION> </SELECT> - <INPUT maxLength=4 size=4 name="user_hp2" id="user_hp2" value=""/> - <INPUT maxLength=4 size=4 name="user_hp3" id="user_hp3" value=""/></td> </tr> <tr> <th>주소</th> <td><input name="user_address2" type="text" id="user_address2" size="40" value="" /></td> </tr> <tr> <th>희망진료과목</th> <td><SELECT name="user_reser" id="user_reser"> <OPTION value="성전환" selected>성전환</OPTION> <OPTION value="가슴성형">가슴성형</OPTION> <OPTION value="안면윤곽성형">안면윤곽성형</OPTION> <OPTION value="지방흡입/체형교정">지방흡입/체형교정</OPTION> <OPTION value="필러주사/기타시술">필러주사/기타시술</OPTION> </SELECT></td> </tr> <tr> <th>시술희망일</th> <td><SELECT name="user_date1" id="user_date1"> <option value="2009" selected='selected'>2009</option> <option value="2010" >2010</option> <option value="2011" >2011</option> <option value="2012" >2012</option> </select>년 <SELECT name="user_date2" id="user_date2"> <option value="1" selected='selected'>1</option> <option value="2" >2</option> <option value="3" >3</option> <option value="4" >4</option> <option value="5" >5</option> <option value="6" >6</option> <option value="7" >7</option> <option value="8" >8</option> <option value="9" >9</option> <option value="10" >10</option> <option value="11" >11</option> <option value="12" >12</option> </select>월 <SELECT name="user_date3" id="user_date3"> <option value="1" selected='selected'+ '+ '>1</option> <option value="2" >2</option> <option value="3" >3</option> <option value="4" >4</option> <option value="5" >5</option> <option value="6" >6</option> <option value="7" >7</option> <option value="8" >8</option> <option value="9" >9</option> <option value="10" >10</option> <option value="11" >11</option> <option value="12" >12</option> <option value="13" >13</option> <option value="14" >14</option> <option value="15" >15</option> <option value="16" >16</option> <option value="17" >17</option> <option value="18" >18</option> <option value="19" >19</option> <option value="20" >20</option> <option value="21" >21</option> <option value="22" >22</option> <option value="23" >23</option> <option value="24" >24</option> <option value="25" >25</option> <option value="26" >26</option> <option value="27" >27</option> <option value="28" >28</option> <option value="29" >29</option> <option value="30" >30</option> <option value="31" >31</option> </select>일</td> </tr> <tr> <th>상담내용</th> <td><textarea name="memo" cols="30" rows="8" id="memo" value=""></textarea></td> </tr> <tr> <th> </th> <td> </td> </tr> <tr> <th></th> <td><input name="image" type="image" src="http://www.belleaim.com/formmail/images/btn_send.gif"> <input type="image" src="http://www.belleaim.com/formmail/images/btn_reset.gif" onclick="form.reset(); return false;"></td> </tr> </table> </div> </form> <!----------콘텐츠내용:끝--------------> </body> </html>
폼메일 보내는 PHP
<? $tomail = "belleaim@gmail.com"; //이 폼메일을 받을 메일주소 function error($text){ echo " <script language=javascript> window.alert('$text') history.go(-1) </script>"; exit; } function msg($text){ echo " <script language=javascript> window.alert('+ '$text') top.location.href = '../' </script> "; exit; } // 지정된 페이지로 이동하는 함수 function goUrl("http://www.xpressengine.com/$str, $go=-1) { echo "<script type=\"text/javascript\">"; if($str) echo "window.alert(\"".str_replace('"','\"',$str)."\");"; if(is_string($go)) echo "location.replace(\"".$go."\");"; else echo "history.go(".$go.")"; echo "</script>"; } if (!$user_name) {error('이름을 입력해주세요.!!');} // 이름이 없을때 에러 메세지 if (!$user_hp2) {error('핸드폰번호를 입력해주세요!!');} // 메일주소가 없을때 에러 메세지 if (!$user_mail) {error('메일 주소를 입력해주세요!!');} // 메일주소가 없을때 에러 메세지 $mailheaders = "Return-Path: $user_mail \r\n"; // 메일 헤더의 반송 메일 주소 $mailheaders .= "Subject: $subject \r\n"; // 메일헤더의 제목표시 $mailheaders .= "From: $user_name <$user_mail>\r\n"; // 메일헤더의 이름과 메일 주소 표시 $mailheaders .= "Content-Type: TEXT/HTML; charset=utf-8 \r\n";//인코딩 $body .= "$mem_form \r\n"; $body .=" <table width=100% border=0 cellpadding=10px cellspacing=0> <caption align=left><h2>접수내용</h2></caption> <tr> <th align=left>고객명</th> <td align=left>: $user_name</td> </tr> <tr> <th align=left>이메일</th> <td align=left>: $user_mail @ $user_mail2</td> </tr> <tr> <th align=left>핸드폰번호</th> <td align=left>: $user_hp1 - $user_hp2 - $user_hp3</td> </tr> <tr> <th align=left>주소</th> <td align=left>: $user_address2</td> </tr> <tr> <th align=left>희망진료과목</th> <td align=left>: $user_reser</td> </tr> <tr> <th align=left>시술희망일</th> <td align=left>: $user_date1 년 $user_date2 월 $user_date3 일</td> </tr> <tr> <th align=left>상담내용</th> <td align=left>: $memo</td> </tr> </table> "; //$result=mail($tomail , $subject , $body , $mailheaders ); // 메일 전송 //if($result) {msg('신청이 접수되었습니다.!!');} // 전송 성공시 //else{error('다시 입력해주세요.!!');} // 전송 실패시 if(!mail($tomail , $subject , $body , $mailheaders)) goUrl("http://www.xpressengine.com/이메일 발송에 실패 하였습니다.); else goUrl('http://www.xpressengine.com/메일이 정상적으로 발송되었습니다.', 'http://www.belleaim.com/bbs/mailAsk'); ?>
코드 삽입하는 컴포넌트가 아무리 해도 줄바꿈이 되질 않네요..(-_-);;;
파일을 첨부하겠습니다. 폼메일 문제점 아시는 분, 해결 방법 좀 알려주세요..
form_mail.html
mail_send.php