묻고답하기

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 남기남
도봉인포 게시판 제목의 NEW 아이콘이 제목 아래 나오는 것과 게시판 폭을 어떻게 ? [2] 2008.02.25 by 도봉인포
jts 1차메뉴 중앙정렬 방법 문의  
하늘34 페이지에서 첨부파일 불가 [1] 2008.02.25 by bluebear
amyours 큐브리드에서 xe운영시 게시판 수정오류 [2] 2008.02.25 by amyours
꿈골 웹진형 최근게시물에서 pre 태그를 쓰고 싶은데요...  
mrtaesoo 제로보드 사용자는 아닙다만.. 질문하나 드려도 될까요?  
오타왕자 [그림참조]권한관리설정에서요... [2] file 2008.02.25 by 오타왕자
카니엘 [주의-경악] 고수님들 도와주세요. 블로그식메뉴를만들어봣어요. file  
너른벌판 로그인 정보에 사진을 띄우는 방법이 궁금합니다. [2] 2008.02.25 by 너른벌판
함용길 리스트 랜덤 섞기에 관한 질문입니다.  
하림 블로그에서 덧글이 접히게 할 수 있나요?  
jinkyong install 창이 안떠요 [3] 2008.02.25 by hyi1
컨트롤러 오늘 업데이트된 방명록을 어찌할것인가? [1] 2008.02.25 by 스컬트
必得力 로그인 시 ID와 닉네임을 쿠키로 생성하려면 [4] 2008.02.26 by 必得力
전태준313 테이블에 입체감을 주기 위해, 그림자를 넣어 주려면 어떻게 해야 하는지요? [1] 2008.02.26 by 괄리자
mysupper.myid.net 통합 검색 권한을 특정 그룹에만 할당할 수 없는지요? [2] 2008.02.26 by mysupper.myid.net
gizmo beta ver 0.2.9 업글 이후 분류관리가 안되요; [3] 2008.02.26 by gizmo
도봉인포 사이트가 떴다 안떴다 합니다. ㅠㅠ [1] 2008.02.26 by 백성찬
neo 관리자인데 금지 IP -_- 라고 뜨네요 [3] file 2008.02.26 by 대암지기
shtjdals 회원가입시 추천인 아이디를 입력받게하고 추천받은 아이디에 포인트를 자동으로 주고싶습니다. [3] 2008.02.26 by 이런남
smico 포럼 설치 방법을 가르쳐 주세요 [1] 2008.02.26 by 대암지기
유령제국 혹시 Lavalic Mp3 Player 2 이거 파일있으신분  
gnee 파일첨부 했을때 자동 파일명변환하는 기능!! file  
아뭔가 zb5에서도 회원체크 하는방법. ( PHP ) 수정.  
애플리아 설치는 한것 같은데, 관리자화면이 안떠서요. [2] 2008.02.26 by 애플리아
천국: ★★★게시판을 누르면 아무것도 안떠요 ㅠㅠ ★★★ [1] 2008.02.26 by 애플리아
장천호 게시판 정렬순서를 제목순으로바꾸고싶은데요? [2] 2008.02.26 by WhiteAT
라이트 로그인 후 로그인정보만 나오게.... [4] file 2008.02.26 by 스컬트
애셔 글쓰기 에디터의 겔러리와 코드하이라이터 [1] 2008.02.26 by 애셔
여득현 제로보드 데이터 이전 문제 [1] 2008.02.26 by 백성찬