<? // 폼에서 넘어오는 값들 //-- $mailTo : 수신자 이메일주소 //-- $mailFrom : 송신자 이메일주소 //-- $fromName : 송신자명 또는 정보 //-- $title : 메일제목 //-- $content : 메일내용 //-- $upfile : 첨부파일명 //******************************* $boundary = "----" . uniqid("part"); // 구분자 생성
// --- 헤더작성 --- // $header = "Return-Path: $mailFromrn"; // 반송 이메일 주소 $header .= "from: $fromName <$mailFrom>rn"; // 송신자명, 송신자 이메일 주소
// --- 첨부화일이 있을경우 --- // 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.0rn"; // MIME 버전 표시 $header .= "Content-Type: Multipart/mixed; boundary="$boundary""; // 구분자 설정, Multipart/mixed 일 경우 첨부화일 // --- 이메일 본문 생성 --- // $mailbody = "This is a multi-part message in MIME format.rnrn"; $mailbody .= "--$boundaryrn"; $mailbody .= "Content-Type: text/html; charset=euc-krrn"; $mailbody .= "Content-Transfer-Encoding: 8bitrnrn"; $mailbody .= nl2br(addslashes($content)) . "rn";
// --- 파일 첨부 ---// $mailbody .= "--$boundaryrn"; $mailbody .= "Content-Type: ".$upfile_type."; name="".$filename.""rn"; // 내용 $mailbody .= "Content-Transfer-Encoding: base64rn"; // 암호화 방식 $mailbody .= "Content-Disposition: attachment; filename="".$filename.""rnrn"; // 첨부파일인 것을 알림 $mailbody .= base64_encode($file)."rnrn"; $mailbody .= "--$boundary--"; //내용 구분자 마침 } else { // --- 헤더작성 --- // $header .= "MIME-Version: 1.0rn"; $header .= "Content-Type: Multipart/alternative; boundary = "$boundary""; // --- 이메일 본문 생성 --- // $mailbody = "--$boundaryrn"; $mailbody .= "Content-Type: text/html; charset=euc-krrn"; $mailbody .= "Content-Transfer-Encoding: 8bitrnrn"; $mailbody .= nl2br(addslashes($content)) . "rn";
$mailbody .= "--$boundary--rnrn"; } $result = mail($mailTo,$title,$mailbody,$header); if($result){ echo "메일 전송에 성공하였습니다."; }else { echo "메일 보내기 실패"; } ?> |