버튼클릭시 확인되었습니다 창 뜨게하는법 부탁드려요~
소스아래 메일발송버튼 누르면
성공하였습니다가 창으로 뜨면서
새로고침되거나.
location.href="/"; 이렇게 메인으로 넘어가게끔 부탁드립니다.
버튼누르면 mail.php 페이지로 넘어가버리네요.
mailform.html
<html><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);"> <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 "메일 보내기 실패"; }?>
답변 4개 / 댓글 2개
윗분들 코딩은 문제가 없어 보입니다만..
메일 전송은 잘 되는지 등등 다시한번 체크해보세요.
<script> 부분을
<script type=\"text/javascript\" data-cfasync=\"false\">
이렇게 바꿔보세요.
그래도 안되면 보지않는한 답변을 해드리기 곤란할듯합니다.
백지로뜬다면 오류표시를 나타낼수있도록 상단에 정의하시고...
// 하단에 56번라인부터 아래코드로 대체해 보세요. if($result){echo "<script>alert('메일전송에 성공하였습니다.');location.href='/';</script>";}else{echo "<script>alert('메일전송에 실패하였습니다.');location.href='/';</script>"; }exit;
답변에 대한 댓글 1개
}
mail.php 파일의 최하단 부분에서 위 코드를 아래와 같이 수정합니다.
if($result){
}
답변에 대한 댓글 1개
location.href ="/" 로 넘어가지가 않습니다...
.ㅡ
58 frm.action = "mail.php";
59 frm.submit();
60 }
이부분을수정해야할까욤?
답변을 작성하려면 로그인이 필요합니다.