묻고답하기

1. 현재 contact us를 사용하고 있는데... 이곳에서 첨부파일 기능을 추가할 수 있는지 궁금하네요..



2. 만약 첨부파일 기능이 되지 않는다면.. 새로운 폼메일을 구축하려고 하려고 하거든요

인터넷에서 첨부파일이 가능한 폼메일 구하였는데.. 항목을 추가하려고 하니 계속 에러가 나서

어떻게 해야하는지 궁금해서 문의합니다.
--------------------------------------------------------------------
현재 초기상태는 http://ams2682.cafe24.com/mailform.html  이렇게 되어있어요

간략하게 소개를 하자면.. 
mailform.html에서 메일의 내용과 값을 입력받은후
mail.php 에서 실제 처리를 하는 방식입니다.
--------------------------------------------------------------------
[현재 모습]
 

[변경하고 싶은 모습]

------------------------------------------------------------------------------
mailform.html

<html>
<head>
<title>www.webmadang.net</title>
<meta http-equiv="Content-Type" content="text/html; charset=euc-kr">
<style type="text/css">
<!--
td {  font-family: "굴림"; font-size: 9pt}
.box {  font-family: "굴림"; font-size: 12px; border-style: solid; border-top-width: 1px; border-right-width: 1px; border-bott2006-08-01om-width: 1px; border-left-width: 1px}
-->
</style>
<script language="javascript">
<!--
function initForm(frm)
{
   frm.mailTo.value = "";
   frm.mailFrom.value = "";
   frm.fromName.value = "";
   frm.title.value = "";
   frm.content.value = "";
   frm.upfile.select();            
   document.selection.clear(); 
   frm.mailTo.focus();
}

function checkForm(frm)
{
  var Filter = /(\S+)@(\S+)\.(\S+)/ 
    
  if( !frm.mailTo.value.match(Filter))
  { 
    alert("유효하지 않은 이메일주소 입니다");
frm.mailTo.focus();
return;
  }

  if( !frm.mailFrom.value.match(Filter))
  { 
    alert("유효하지 않은 이메일주소 입니다");
frm.mailFrom.focus();
return;
  }

  if( !frm.fromName.value )
  {
    alert("보내는 분의 이름 또는 정보를 입력해 주세요");
frm.fromName.focus();
return;
  }

  if( !frm.title.value )
  {
    alert("메일의 제목을 입력해 주세요");
frm.title.focus();
return;
  }

  if( !frm.content.value )
  {
    alert("메일의 내용을 입력해 주세요");
frm.content.focus();
return;
  }


  frm.action = "mail.php";
  frm.submit();

}
//-->
</script>
</head>
<body>
<form name="form" method="post" enctype="multipart/form-data">
<table width="600" border="1" cellspacing="1" cellpadding="0">
  <tr> 
    <td width="150">받는사람(to)</td>
    <td width="457"><input type="text" name="mailTo" size="60"></td>
  </tr>
  <tr> 
    <td width="134">보내는사람(from)</td>
    <td width="457"><input type="text" name="mailFrom" size="60"></td>
  </tr>
  <tr> 
    <td width="134">보내는사람 이름(name)</td>
    <td width="457"><input type="text" name="fromName" size="60"></td>
  </tr>
  <tr> 
    <td>제목(title)</td>
    <td><input type="text" name="title" size="60"></td>
  </tr>
  <tr> 
    <td>내용(content)</td>
    <td><textarea name="content" cols="58" rows="10"></textarea></td>
  </tr>
  <tr> 
    <td>파일(upfile)</td>
    <td><input type="file" name="upfile" size="50"></td>
  </tr>
  <tr> 
    <td colspan="2" align="center"><input type="button" name="send" value="메일발송" onClick="checkForm(this.form);">&nbsp;
      <input type="button" name="init" value="초기화" onClick="initForm(this.form);"></td>
  </tr>
</table>
</form>
</body>
</html>

------------------------------------------------------------------------------
mail.php

<?
// 폼에서 넘어오는 값들
//-- $mailTo : 수신자 이메일주소
//-- $mailFrom : 송신자 이메일주소
//-- $fromName : 송신자명 또는 정보
//-- $title    : 메일제목
//-- $content  : 메일내용
//-- $upfile   : 첨부파일명
//*******************************


 $boundary = "----" . uniqid("part"); // 구분자 생성
 
 // --- 헤더생성 --- //
 $header  = "Return-Path: $mailFrom\r\n";                             // 반송 이메일 주소
 $header .= "from: $fromName <$mailFrom>\r\n";                        // 송신자명, 송신자 이메일 주소

 // --- 첨부화일이 있을경우 --- //
 if($upfile && $upfile_size) {
 $filename=basename($upfile_name); // 파일명 추출
 $fp = fopen($upfile,"r"); // 파일 열기
 $file = fread($fp,$upfile_size); // 파일 읽기
 fclose($fp);  // 파일 닫기
 if ($upfile_type == ""){
  $upfile_type = "application/octet-stream";
 }

 // --- 헤더작성 --- //
 $header .= "MIME-Version: 1.0\r\n";                                  // MIME 버전 표시
 $header .= "Content-Type: Multipart/mixed; boundary=\"$boundary\"";  // 구분자 설정, Multipart/mixed 일 경우 첨부화일

 // --- 이메일 본문 생성 --- //  
 $mailbody = "This is a multi-part message in MIME format.\r\n\r\n";
 $mailbody .= "--$boundary\r\n";
 $mailbody .= "Content-Type: text/html; charset=euc-kr\r\n";
 $mailbody .= "Content-Transfer-Encoding: 8bit\r\n\r\n";
 $mailbody .= nl2br(addslashes($content)) . "\r\n";
 
 // --- 파일 첨부 ---//  
 $mailbody .= "--$boundary\r\n";  
 $mailbody .= "Content-Type: ".$upfile_type."; name=\"".$filename."\"\r\n";   // 내용
 $mailbody .= "Content-Transfer-Encoding: base64\r\n"; // 암호화 방식  
 $mailbody .= "Content-Disposition: attachment; filename=\"".$filename."\"\r\n\r\n"; // 첨부파일인 것을 알림
 $mailbody .= base64_encode($file)."\r\n\r\n";  

 $mailbody .= "--$boundary--";  //내용 구분자 마침
 } else {
    // --- 헤더작성 --- //  
    $header .= "MIME-Version: 1.0\r\n";  
    $header .= "Content-Type: Multipart/alternative; boundary = \"$boundary\"";  

    // --- 이메일 본문 생성 --- //
    $mailbody = "--$boundary\r\n";  
    $mailbody .= "Content-Type: text/html; charset=euc-kr\r\n";
    $mailbody .= "Content-Transfer-Encoding: 8bit\r\n\r\n";
    $mailbody .= nl2br(addslashes($content)) . "\r\n";
  
    $mailbody .= "--$boundary--\r\n\r\n";  

 $result = mail($mailTo,$title,$mailbody,$header);
 if($result){
 echo "메일 전송에 성공하였습니다.";
 }else  {
 echo "메일 보내기 실패";
 }

?>

글쓴이 제목 최종 글
XE 공지 글 쓰기,삭제 운영방식 변경 공지 [16] 2019.03.05 by 남기남
LI-NA .htaccess Rewrite rule 다룰 줄 아시는분... [2] 2013.01.15 by LI-NA
산삼짱 레이아웃에서 메뉴 바꾸는 방법? [1] 2013.01.15 by 송동우
Neksing 홈 가입시 에러 메세지 templateHandler.class.phop 에러 ㅠㅠ 왜 그런건지 답변좀 부탁 드립니다.  
GT네오 게시판 조회수 카운터 믿을만한가요?..  
좋은나무 게시판 본문내 삽입한 이미지 X 박스 문제 file  
音志 메일인증 안된 회원이 로그인시;;  
행복하세요2 DX 게시판사용중인데 사용이 불가능해요 ㅜ.ㅠ file  
Funys 모바일 버튼 재 문의 드려요 ㅠㅠ [1] 2013.01.15 by 송동우
yung09 로그인시 아이디나 비밀번호를 틀렸을 때 [1] file 2013.01.15 by 송동우
윤경인924 게시판에 첨부파일이 업로드가 안됩니다...ㅠ.ㅠ [1] 2013.01.15 by 송동우
音志 로그인했을 경우 회원 메뉴 출력중에... [2] file 2013.01.15 by 윈컴이
female_nari 게시글 수정하면 업데이트 뜨는거요 [1] 2013.01.15 by 송동우
4차원섭이 신디케이션 연동이 안되네요 ㅠ  
이뮨정님 분류관리가안뜹니다도와주십쇼~!!ㅠㅠ file  
야수택시 게시판 DX에서 이미지 여러장 올리고싶은데요  
훗소다 게시판 스킨에 관하여 SketchBook5 file  
exou XE 1.5.4.1 버젼 설치 사양에 PHP 버전이 영향을 주나요? file  
ttline2 데이터이전 도와주세요! file  
shyduke 위젯페이지 복사 [1] 2013.01.15 by 송동우
우하라 분류관리에서 오류.. [1] file 2013.01.15 by 착한악마
Alex 로그인 / 회원가입 폼 [2] 2013.01.15 by 송동우
yung09 회원 모듈에서 탈퇴 창 관련 질문입니다. [2] 2013.01.15 by 송동우
찐따넷 제로보드 해킹 문제 관련 [1] 2013.01.15 by LI-NA
Hanoian DB 비밀번호를 바꾸니 홈페이지가 뜨지 않습니다. [1] file 2013.01.15 by 윈컴이
소금1 고수님들께 소생이 무식하여 여쭙니다 [3] 2013.01.15 by root2
우니즈 로그인해도 다시 로그인해야하는 문제 .. 어떻게 고쳐야할까요? [1] 2013.01.15 by 송동우
쮸야282 혹시 파일질라 사용하시는분... [1] 2013.01.14 by LI-NA
LI-NA 애드온에서 전체 소스를... [1] 2013.01.14 by hhgyu
alljoy 위젯페이에서 이미맵링크 사용질문.... file  
유니눅스 스케치북 게시판 개시물 확장변수 질문