맛집 여행 캠핑 일상 생활

HTML PHP 폼메일 소스 본문

HTML.CSS

HTML PHP 폼메일 소스

♥ 영은파더♥ 2016. 4. 26. 14:10

php 웹호스팅서버에서 폼메일 보내기



sendmail 또는 postfix 를 이용한 웹메일 보내는 소스입니다. 예제가 아닌 실제로 동작하는 소스코드입니다.


화이트도메인 등록하고 사용하시면 됩니다.


sendmail 은 반응이 느리니 가급적이면 postfix 를 설치해서 보내면 반응 속도가 빠릅니다.


소스는 두개( mail.html, mail.php )의 파일만 있어도 되지만 이미지를 업로드에서 메일에 직접 작성을 할 수 있게 upload.php 도 첨부합니다.


그리고 파일도 첨부해서 메일로 보낼 수 있습니다. 첨부파일 최대크기는 5MByte 로 제한을 걸어놓았는데


MAXLIMIT 를 찾아서 수정해서 사용하시면 됩니다.


메일 작성은 ckeditor 를 사용하였습니다.



폼메일폼메일


mail.html


mail.php


upload.php



▶ mail.html


<!DOCTYPE html >

<html>

<head>

<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />

<meta http-equiv="Content-Script-Type" content="text/javascript" />

<meta http-equiv="Cache-Control" content="No-Cache" />

<meta http-equiv="Pragma" content="No-Cache" />

<title>메일쓰기</title>

<script src="//code.jquery.com/jquery.min.js"></script>

<script src="//cdn.ckeditor.com/4.4.7/full/ckeditor.js"></script>

<script type="text/javascript">

$(document).ready(function(){

if(parent.resize_layer) parent.resize_layer($('#cBody').height());

CKEDITOR.config.width = 770;

CKEDITOR.config.height = 440;

CKEDITOR.config.removePlugins = 'elementspath,resize';

CKEDITOR.config.toolbar = [

{ name: 'styles', items: [ 'Styles', 'Font', 'FontSize' ] },

{ name: 'colors', items: [ 'TextColor', 'BGColor' ] },

{ name: 'tools', items: [ 'Maximize', 'ShowBlocks' ] },

{ name: 'basicstyles', groups: [ 'basicstyles', 'cleanup' ], items: [ 'Bold', 'Italic', 'Underline', 'Strike', 'Subscript', 'Superscript', '-', 'RemoveFormat' ] },

{ name: 'insert', items: [ 'Image', 'Table', 'HorizontalRule', 'SpecialChar' ] }

];

CKEDITOR.config.removeButtons = 'Source,Save,NewPage,Print,Templates,Find,Replace,SelectAll,Scayt,HiddenField,Outdent,Indent,Blockquote,CreateDiv,BidiLtr,BidiRtl,Language,Anchor,Flash,Smiley,PageBreak,Iframe,Format,Subscript,Superscript,About';

var editObj = CKEDITOR.replace( 'message', { filebrowserUploadUrl: 'upload.php', contentsCss:'p{margin:0;}' } );

editObj.on('key', function(evt){

var cLen = editObj.getData().length;

if(cLen > 65000) {

alert('65000자를 넘을 수 없습니다.');

editObj.execCommand('undo');

}

else {

editObj.fire('saveSnapshot');

}

});

});

function mail_check(v, n) {

var regEmail = /\w{2,}[@][\w\-]{2,}([.]([\w\-]{2,})){1,3}$/;

var tmps = new Array();

if(v.indexOf(',') > -1) {

tmps = v.split(',');

}

else if(v.indexOf(';') > -1) {

tmps = v.split(';');

}

else {

tmps.push(v);

}

for(var i=0; i<tmps.length; i++) {

if(tmps[i].indexOf('<') > -1 && tmps[i].indexOf('>') > -1) {

tmps[i] = tmps[i].substring(tmps[i].indexOf('<')+1, tmps[i].indexOf('>'));

}

if(!regEmail.test(tmps[i])) {

return false;

}

}

if(n == 1 && tmps.length != 1) {

return false;

}

return true;

}

function mail_proc(f) {

if(!f.femail.value) {

alert('보내는이 메일 주소를 입력하세요.');

f.femail.focus();

return false;

}

if(!mail_check(f.femail.value, 1)) {

alert('이메일 주소가 유효하지 않습니다.');

f.femail.focus();

return false;

}

if(!f.temail.value) {

alert('받는이 메일 주소를 입력하세요.');

f.temail.focus();

return false;

}

else {

if(!mail_check(f.temail.value)) {

alert('메일 주소가 유효하지 않습니다.');

f.temail.focus();

return false;

}

}

if(f.remail.value) {

if(!mail_check(f.remail.value)) {

alert('메일 주소가 유효하지 않습니다.');

f.remail.focus();

return false;

}

}

if(f.hemail.value) {

if(!mail_check(f.hemail.value)) {

alert('메일 주소가 유효하지 않습니다.');

f.hemail.focus();

return false;

}

}

if(!f.subject.value) {

alert('제목을 입력하세요.');

f.subject.focus();

return false;

}

var editObj = CKEDITOR.instances.message;

if(editObj.getData().length == 0) {

alert('메일 내용을 입력하세요.');

editObj.focus();

return false;

}

f.target = 'frame_mail_proc';

f.submit();

return false;

}

</script>

</head>

<body id="cBody">

<div id="cLayer" style="width:100%;height:auto;padding-left:20px;padding-top:20px;padding-bottom:5px;font-size:10pt;font-family:돋움;" align="left">

<div id="mailLayer" style="width:100%;height:auto;" align="center">

<div style="width:770px;padding-bottom:10px;font-size:12pt;font-weight:bold;" align="left">

폼메일 쓰기

</div>

<table>

<form name="mailForm" method="post" enctype="multipart/form-data" action="mail.php" onsubmit="return mail_proc(this);">

<tr>

<td width="110" align="left">보내는이</td>

<td align="left"><input type="text" name="femail" style="width:658px;" value="<?=$femail?>" /></td>

</tr>

<tr>

<td width="110" align="left">받는이</td>

<td align="left"><input type="text" name="temail" style="width:658px;" value="<?=$temail?>" /></td>

</tr>

<tr>

<td width="110" align="left">참조</td>

<td align="left"><input type="text" name="remail" style="width:658px;" /></td>

</tr>

<tr>

<td width="110" align="left">숨은참조</td>

<td align="left"><input type="text" name="hemail" style="width:658px;" /></td>

</tr>

<tr>

<td width="110" align="left">제목</td>

<td align="left"><input type="text" name="subject" style="width:658px;" /></td>

</tr>

<tr>

<td width="110" align="left">파일첨부</td>

<td align="left"><input type="file" name="attach" /></td>

</tr>

<tr>

<td colspan="2" height="2"></td>

</tr>

<tr>

<td colspan="2" align="left">

<textarea name="message"><?=$message?></textarea>

</td>

</tr>

<tr>

<td colspan="2" height="15"></td>

</tr>

<tr>

<td colspan="2" align="center">

<input type="submit" value="메일발송" onclick="return mail_proc(this.form);" />

</td>

</tr>

</form>

</table>

<div style="display:none;">

<iframe src="" name="frame_mail_proc" id="frame_mail_proc" frameborder=0 margin=0 allowTransparency=false width="100%" height="100%"></iframe>

</div>

</div>

</div>

</body>

</html>



▶ mail.php


<?php

$MAXLIMIT = 5242880; // 5MByte limit

if($_FILES['attach']['size'] > $MAXLIMIT) {

$ment = "파일 사이즈가 ".($MAXLIMIT/1024/1024)."MByte를 초과하였습니다.\\n";

$ment .= ($MAXLIMIT/1024/1024)."MByte 이하의 파일만 첨부가능합니다.";

echo "<script>alert('".$ment."');</script>";

return;

}

if($_FILES['attach']) {

$attach = $_FILES['attach'];

$name = preg_replace("/\.(php|phtm|htm|cgi|pl|exe|jsp|asp|inc)/i", "$0-x", $attach['name']);

$name = substr(md5(uniqid($_SERVER['REQUEST_TIME'])),0,8).'_'.str_replace('%', '', urlencode($name));

$ATTACH_DIR = "./attach/mail/";

$dest_file  = $ATTACH_DIR.$name;

$url = $ATTACH_DIR.$name;

if(!is_dir($ATTACH_DIR)) {

if(@mkdir($ATTACH_DIR, 0777, true)) {

if(is_dir($ATTACH_DIR)) {

@chmod($ATTACH_DIR, 0777);

}

}

}

if(move_uploaded_file($attach['tmp_name'], $dest_file)) {

$attach_url = $url;

$attach_name = $attach['name'];

$attach_size = $attach['size'];

$attach_type = $attach['type'];

}

}

$femail = $_POST['femail'];

$temail = $_POST['temail'];

$remail = $_POST['remail'];

$hemail = $_POST['hemail'];

$subject = $_POST['subject'];

$message = $_POST['message'];

$boundary = "----" . uniqid("part"); // 구분자

// --- 헤더 --- //

$headers = "Return-Path: ".str_replace("\\", "", $femail)."\r\n";

$headers .= "From: ".str_replace("\\", "", $femail)."\r\n";

if($remail) {

$headers .= "Cc: ".str_replace("\\", "", $remail)."\r\n";

}

if($hemail) {

$headers .= "Bcc: ".str_replace("\\", "", $hemail)."\r\n";

}

if($attach_url && $attach_name) { // --- 첨부파일 --- //

$filename=$attach_name;

$fp = fopen($attach_url,"r");

$file = fread($fp,$attach_size);

fclose($fp);

if ($attach_type == ""){

$attach_type = "application/octet-stream";

}

// --- 헤더 --- //

$headers .= "MIME-Version: 1.0\r\n";

$headers .= "Content-Type: Multipart/mixed; boundary=\"$boundary\"";

// --- 본문 --- // 

$mailbody = "This is a multi-part message in MIME format.\r\n\r\n";

$mailbody .= "--$boundary\r\n";

$mailbody .= "Content-Type: text/html; charset=utf-8\r\n";

$mailbody .= "Content-Transfer-Encoding: base64\r\n\r\n";

$mailbody .= chunk_split(base64_encode(str_replace("\\", "", $message))) . "\r\n";

// --- 첨부 --- // 

$mailbody .= "--$boundary\r\n"; 

$mailbody .= "Content-Type: ".$attach_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 {

// --- 헤더 --- // 

$headers .= "MIME-Version: 1.0\r\n"; 

$headers .= "Content-Type: Multipart/alternative; boundary = \"$boundary\"";

// --- 본문 --- //

$mailbody = "--$boundary\r\n"; 

$mailbody .= "Content-Type: text/html; charset=utf-8\r\n";

$mailbody .= "Content-Transfer-Encoding: base64\r\n\r\n";

$mailbody .= chunk_split(base64_encode(str_replace("\\", "", $message))) . "\r\n";

$mailbody .= "--$boundary--\r\n\r\n"; 

}

$ret = mail($temail, $subject, $mailbody, $headers);

if(!$ret) {

$msg = "메일 발송을 실패하였습니다.";

}

else {

$msg = "메일을 발송하였습니다.";

}

?>

<!DOCTYPE html >

<html>

<head>

<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />

<meta http-equiv="Content-Script-Type" content="text/javascript" />

<meta http-equiv="Cache-Control" content="No-Cache" />

<meta http-equiv="Pragma" content="No-Cache" />

<script>alert('<?=$msg?>');</script>";

</head>

</html>



▶ upload.php


<!DOCTYPE html >

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ko" lang="ko">

<head>

<meta http-equiv="Content-Type" content="application/xhtml+xml;charset=utf-8" />

<meta http-equiv="Content-Script-Type" content="text/javascript" />

<meta http-equiv="Cache-Control" content="No-Cache" />

<meta http-equiv="Pragma" content="No-Cache" />

<meta name="viewport" content="user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, width=device-width" />

<title>Upload</title>

<?

$MAXLIMIT = 5242880; // 5MByte limit

if($_FILES['upload']['size'] > $MAXLIMIT) {

$msg = "Limited size ".($MAXLIMIT/1024/1024)."MByte";

echo "<script>alert('".$msg."');</script>";

}

else {

$file = $_FILES['upload'];

$name = preg_replace("/\.(php|phtm|htm|cgi|pl|exe|jsp|asp|inc)/i", "$0-x", $file['name']);

$name = substr(md5(uniqid($_SERVER['REQUEST_TIME'])),0,8).'_'.str_replace('%', '', urlencode($name));

$ATTACH_DIR = "./attach/mail/";

$ATTACH_URL = "/attach/mail/";

$dest_file  = $ATTACH_DIR.$name;

$url = "http://".$_SERVER['HTTP_HOST'].$ATTACH_URL.$name;

if(!is_dir($ATTACH_DIR)) {

if(@mkdir($ATTACH_DIR, 0777, true)) {

if(is_dir($ATTACH_DIR)) {

@chmod($ATTACH_DIR, 0777);

}

}

}

 

if(move_uploaded_file($file['tmp_name'], $dest_file)) {

echo "<script type='text/javascript'>window.parent.CKEDITOR.tools.callFunction('".$_GET['CKEditorFuncNum']."', '".$url."', 'success')</script>";

}

else {

echo "<script>alert('failed')</script>";

}

}

?>

</head>

<body>

</body>

</html>


마음에 드는 폼메일 예제 소스가 없어서 직접 만들어서 공개합니다.


하루에 메일 발송건수가 많은편이라면 화이트도메인 등록을 꼭 하시고 사용하세요.


블랙리스트에 오를 수도 있습니다.



POSTFIX 설치 방법은 https://ivps.tistory.com/37 여기를 참고


'HTML.CSS' 카테고리의 다른 글

CSS text-overflow 속성  (0) 2016.05.03
CSS word-break 속성  (0) 2016.05.03
HTML PHP 폼메일 소스  (60) 2016.04.26
HTML CSS 크기 단위  (0) 2016.04.20
웹페이지 프린터 출력 CSS STYLE 예제  (0) 2016.03.25
HTML/CSS Layer 특정위치에 고정시키기  (0) 2016.03.21
Trackback : 0 | Comments : 60
  • 이전 댓글 더보기
  • q_q5633 2016.12.09 09:47 좋은소스 너무 감사합니다 ㅠㅠ 질문이 있는데 textarea 쪽을 편집하고 싶은데 css가 먹지를 않아서요 어떻게 편집해야 할까요??
  • ♥ 영은파더♥ 2016.12.09 11:43 신고 ckeditor 에서 콘트롤을 해서 css 가 먹지 않습니다.
    ckeditor 쪽에서 css 가 적용되도록 해주시면 됩니다.
    그러니까 contentsCss:'p{margin:0;}' 이 부분을 찾아서 수정하면 됩니다.
    var editObj = CKEDITOR.replace( 'message', { filebrowserUploadUrl: 'upload.php', contentsCss:'여기에 작성하시면 됩니다.' } );
  • q_q5633 2016.12.09 11:49 진짜 감사합니다 ㅠㅠ
  • 큐도 2017.03.16 13:45 너무 좋은 소스 만들어주셔서 감사합니다!!
    우선 잘 적용해서 메일로 받아지는것까지 테스트 했는데요 질문한가지 드려요 ㅜㅜ


    if($attach_url && $attach_name) { // --- 첨부파일 --- //
    $filename=$attach_name;
    $fp = fopen($attach_url,"r";);
    $file = fread($fp,$attach_size);
    fclose($fp);
    if ($attach_type == "";){
    $attach_type = "application/octet-stream";
    }
    // --- 헤더 --- //
    $headers .= "MIME-Version: 1.0\r\n";
    $headers .= "Content-Type: Multipart/mixed; boundary=\"$boundary\"";
    $mailbody .= chunk_split(base64_encode(str_replace("\\", "", $subject))) . "\r\n";
    // --- 본문 --- //
    $mailbody = "This is a multi-part message in MIME format.\r\n\r\n";
    $mailbody .= "--$boundary\r\n";
    $mailbody .= "Content-Type: text/html; charset=utf-8\r\n";
    $mailbody .= "Content-Transfer-Encoding: base64\r\n\r\n";
    $mailbody .= chunk_split(base64_encode(str_replace("\r\n", "", $subject))) . "\r\n";
    $mailbody .= chunk_split(base64_encode(str_replace("\r\n", "", $name))) . "\r\n";
    $mailbody .= chunk_split(base64_encode(str_replace("\r\n", "", $phone))) . "\r\n";
    $mailbody .= chunk_split(base64_encode(str_replace("\r\n", "", $message))) . "\r\n";
    }
    else {
    // --- 헤더 --- //
    $headers .= "MIME-Version: 1.0\r\n";
    $headers .= "Content-Type: Multipart/alternative; boundary = \"$boundary\"";
    $mailbody .= chunk_split(base64_encode(str_replace("\\", "", $subject))) . "\r\n";
    // --- 본문 --- //
    $mailbody = "--$boundary\r\n";
    $mailbody .= "Content-Type: text/html; charset=utf-8\r\n";
    $mailbody .= "Content-Transfer-Encoding: base64\r\n\r\n";
    $mailbody .= chunk_split(base64_encode(str_replace("\r\n", "", $subject))) . "\r\n";
    $mailbody .= chunk_split(base64_encode(str_replace("\r\n", "", $name))) . "\r\n";
    $mailbody .= chunk_split(base64_encode(str_replace("\r\n", "", $phone))) . "\r\n";
    $mailbody .= chunk_split(base64_encode(str_replace("\r\n", "", $message))) . "\r\n";
    $mailbody .= "--$boundary--\r\n\r\n";
    }

    위 내용처럼 항목을 몇가지 추가를 했구요 각 항목별로 메일내용으로 잘 옵니다.
    근데 문제가 각 항목별로 줄바꿈 및 띄어씌기가 되지 않네요 ㅜㅜ
    \n\r 대신 <br>등을 넣어봐도 되지 않는데 혹시 다른 방법이 있을런지요??

    답변 주시면 너무 감사하겠습니다!!
  • ♥ 영은파더♥ 2017.03.16 14:08 신고 원래 소스에서 $message 부분에 내용을 더 추가해보세요.

    본문에 제목, 이름, 전화번호를 위쪽에 추가하려는 의도가 맞나요?

    $message = $subject."<br>".$name."<br>".$phone."<br>".$message;
    이렇게 해서 원래 소스에 그냥 적용해보세요.
  • 큐도 2017.03.17 10:54 알려주신대로 해보니 잘 되네요~ 너무 감사합니다^^
  • ♥ 영은파더♥ 2017.03.17 13:15 신고 잘된다니 다행이네요~ ^^
  • 허엇허 2017.03.22 09:25 좋은 소스 감사합니다...
    혹시 파일첨부 발송하면 수신메일에서 첨부파일 못받는것은 무슨 문제일까요?
    다른부분은 이상이 없는데 파일첨부하면 파일이 안오네요 ㅠ
  • ♥ 영은파더♥ 2017.03.22 11:25 신고 먼저 upload.php 가 호출되었는지 확인해보시고요.
    파일을 업로드했을때 파일이 ./attach/mail 폴더에 생성이 되었는지 확인해보세요.
    여기까지 확인이 된다면 잘 될거에요.
    파일이 생성이 안된다면 퍼미션 문제일 가능성이 있습니다.
  • 허엇허 2017.03.22 15:00 웃흥! 파일 퍼미션과 경로, php conf의 웹페이지 경로를 수정하니 잘되었습니다.
    정말 감사합니다!
  • ♥ 영은파더♥ 2017.03.22 15:02 신고 잘 해결되어서 다행이네요~ ^^
  • 2017.06.02 16:57 포스팅잘 보았습니다ㅎ 근데 초보가 보기엔 너무어려워요 ..3개다운은해서 mail.html실행해서 메일주소쓰고 전송했는데 페이지는넘어가는데 텍스트랑 소스가 우르르 나오더군요... 방법좀 더 알고싶습니다...부탁드립니다 ㅠ
  • ♥ 영은파더♥ 2017.06.02 17:02 신고 아파치 환경에서 실행한게 맞는지요?
    소스파일을 다운로드 받아서 서버에 업로드 하거나
    로컬환경에서 테스트 한다면 APM 유틸을 설치한 다음에 실행하시면 됩니다.
  • 전병욱 2019.01.18 09:38 먼저 좋은 소스 공유에 감사드립니다.
    가비아 호스팅을 이용하고 있는데요~
    첨부파일 없이는 메일전송이 정상적으로 됩니다.
    그런데 파일을 첨부하면 attach폴더도 생성되고 하위에 해당 파일도 업로딩이 되어있는데
    메일이 발송되지 않습니다 ㅠ.ㅠ
    어떤 부분을 체크해야 할까요? 공부하는 학생은 아니고 그냥 html 기본만 아는 상태로 홈페이지를
    만드는 중이라 ㅠ.ㅠ
    경로는 http://trumetal.co.kr/mail/mail.html 입니다.
  • ♥ 영은파더♥ 2019.01.18 10:50 신고 php.ini 에서 첨부파일 용량 제한 한번 확인해보시고요,
    에러로그 확인해보세요~
    에러로그가 있다면 댓글 남겨주세요~
  • 전병욱 2019.01.18 17:25 첨부파일 포함하여 메일 발송 시, 메일 발송 문구에 스팸으로 인식될 만한 구문이 포함되어 발송이 제한되고 있습니다.

    - spam제한 정책

    Content-Type, MASS_Master-r.4 포함하면 차단

    고객님의 첨부파일 메일의 경우 content-Type문구를 포함하여 메일 발송이 차단되는 것으로 보이오니 소스를 수정하시어 해당 문구가 포함되지 않도록 하시길 바랍니다.
    ----------------------------------------------------------------------------------
    위와 같이 답변이 왔는데 수정이 가능한 부분일까요 ㅠ.ㅠ
  • ♥ 영은파더♥ 2019.01.18 17:46 신고 실제로 잘 전송되는 코드인데 첨부파일에 따라 스팸으로 분류될 수도 있나보네요~
    다른 파일로 한번 테스트 해보세요~
  • 전병욱 2019.01.18 18:32 첨부파일 종류와 상관없이 그래요 ㅠ.ㅠ

    png, dwg, zip...
  • kkulaw 2019.07.17 17:15 좋은 소스 공유에 정말 감사합니다.
    현제 가비아 에서 호스팅해서 공유해주신 소스 쓰고 있는데 메일이 발송 되었다고는 뜨는데 실제로 메일이 오지는 않고 있는데 어떻게 해야하나요??
  • ♥ 영은파더♥ 2019.07.17 17:25 신고 네이버 메일 같은 곳으로 보내면 스팸함으로 빠졌을 가능성이 있습니다.
    이런 경우엔 화이트도메인을 등록하셔야 합니다.
    https://ivps.tistory.com/433 이글을 참고해보세요~
  • kkulaw 2019.07.17 17:29 제가 현제 가비아에서 서버 호스팅 받아서 mysql하고 php를 사용해서 작업하고있는데 메일보내는걸 하고싶어서 소스를 넣어봤는데 메일 보내지는것만 뜨고 스팸쪽으로도 오지 않고 있는데 sendmail 또는 postfix 둘중에 하나는 설치해서 써야 하는건가요?? 아니면 둘다 안써도 메일 보낼수있나요??
  • ♥ 영은파더♥ 2019.07.18 08:45 신고 sendmail 이나 postfix 중에 하나는 설치되어있어야 합니다.
    그리고 SMTP 포트도 방화벽에서 열려있어야 합니다~
    방화벽을 확인해보세요~
  • HJ Park 2020.03.17 14:14 좋은 소스 정말 감사드립니다. 메일을 send 하고나니 화면이 전부 지워지고 blank 화면으로 되버리는데 send 에는후 메일폼이 초기 상태로 그대로 남아 있게 할 수 없을까요? 답변주시면 감사하겠습니다. 그리고 메시지 입력란에 글자 스타일 버튼들을 없애고 싶은데요.... 다시한번 감사드립니다.....
  • ♥ 영은파더♥ 2020.03.17 15:26 신고 mail_proc 함수에서 맨 아래에 return false 가 있어서 화면 변경이 안되어야 정상입니다.
    혹시 소스 변경하시지 않았나요?
    글자 스타일 버튼 없애는 것은 CKEDITOR.config.removeButtons 이것으로 검색해 보세요~
  • ♥ 영은파더♥ 2020.03.18 15:35 신고 폰트스타일은 CKEDITOR.config.toolbar 부분에서 items: [ 'Bold', 'Italic', 'Underline', 'Strike', 'Subscript', 'Superscript', '-', 'RemoveFormat' ] 이 부분을 빼시면 됩니다.
  • HJ Park 2020.03.17 21:43 영은파더님, 답변 감사드리구요... 소스를 고친 곳이 없습니다. 메일은 submit 하면 "메일을 성공적으로 발송..." 이란 알림창이 뜨고는 화면이 Blank page 로 전환 됩니다. 이 상태에서 브라우저의 이전화면 가기를 누르면 원래의 폼메일창이 나옵니다. 제가 현재 tubebox.co.kr 에 제 sample 을 업로드 해놓았습니다. 한번 봐주실수 있을지요? 넘 감사드리구요...
  • ♥ 영은파더♥ 2020.03.18 10:14 신고 브라우저에 따라 다를 수 있나보네요~
    무슨 브라우저로 테스트 하셨나요?
  • ♥ 영은파더♥ 2020.03.18 15:22 신고 https:// 에서 호출한거라면 jquery 스크립트를 못 불러 와서 에러가 발생한 것 일 수도 있겠네요~
    <script src="//code.jquery.com/jquery.min.js"></script>
    이렇게 변경하시면 될 겁니다.
  • HJ Park 2020.03.19 06:17 영은파더님, 제가 소스 수정하면서 에러가 있었습니다. 소스가 잘 작동 됩니다.... 넘넘 감사 드립니다..
  • ♥ 영은파더♥ 2020.03.19 09:34 신고 잘된다니 다행입니다~~ ^^
  • girim3582 2020.05.21 15:30 안녕하세요. 운영자님. 다름이 아니고, 제 이메일 주소부분을 고정시킬려고하는데요 예를 들어서 now@naver.com 이런식으로 제 메일부분은 고정시킬려면 어떻게 하면 될까요?? 그럼 부탁 좀 드리겠습니다..
  • ♥ 영은파더♥ 2020.05.21 20:45 신고 보내는이 value 값에 넣으시면 됩니다~
  • pang 2020.06.26 20:15 안녕하세요..운영자님..좋은 소스 너무감사드립니다
    다름이 아니라 파일첨부 전송후 attach/mail폴더에 있는 파일을 자동으로 삭제할수는 없는지요..
    정보보호 차원에서 파일로 전송후 폴더에 파일은 남겨둘 필요가 없어서요.....
  • ♥ 영은파더♥ 2020.06.29 10:34 신고 mail.php 파일에서 메일 발송 이후
    if($attach_url) {
    unlink($attach_url);
    }
    이 코드를 넣어주시면 되겠네요~
  • pang 2020.06.29 22:09 귀한 답변 너무 고맙고 감사합니다....
    덕분에 하나더 배우고 해결합니다.....다시한번 감사드립니다..
  • pang 2020.06.29 23:45 또하나 여쭈어 봅니다
    메일을 전송한후 확인 클릭하면 화면이 reset 이되게 하려고 하는데
    이리 저리 해봐도 안돼네요.....
    다시 한번 도움 부탁드립니다..
  • pang 2020.07.01 20:08 안녕하세요
    mail.html에서 참조와 숨은참조 를 숨김으로 하고 메일을 전송된후 화면은 mail.php가 뜨면서 "; 가 표시돼있네요...
    main.php에서 참조와 숨은참조 함수값을 지우면 될까하고 해봐도 똑같은 현상이 나는데 어디를 수정해야 하는지요?
    그리고 전송후 화면리셋도 이리 저리 해봐도 기초가 부족하여 안돼네요.....도움부탁드립니다...
  • ♥ 영은파더♥ 2020.07.01 21:29 신고 답글 단다는게 깜빡했네요
    form을 리셋하면됩니다.
  • ♥ 영은파더♥ 2020.07.01 21:32 신고 mail_proc 함수 아래 f.submit(); 아래에 f.reset();을 넣어주세요.
  • pang 2020.07.01 22:32 너무 너무 감사합니다....
  • ♥ 영은파더♥ 2020.07.02 07:02 신고 도움이 되어서 기쁘네요~~
댓글쓰기 폼