폼메일 관련 문의 드립니다. ;; > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

폼메일 관련 문의 드립니다. ;; 정보

폼메일 관련 문의 드립니다. ;;

본문

editplus 상 25~28 라인이 메일을 보내는 소스 입니다..
여러군데에 보낼 수 있다 했는데 죙일 테스트 해봤는데 안보내지더군요..
16~17라인을 입력 하면 되는데... 그렇지만 여러 사람들에게 보내야 하는지라.. ㅠㅠ

316 라인이 메일의 제목을 정해주는 소스 입니다.
mail_from_name 신청자 성함인데요..
신청자 + 고정멘트("고객님이 제품 문의 메일이 도착했습니다") 라고 받고 싶은데
이것도 안되네요 ㅠㅠ;;

이 두가지만 해결 되면 마무리가 될것 같습니다.
(사정상 이메일, 아이디는 xxx 로 바꿨습니다.;;)
도와주세요 고수님들 ㅠㅠ/


<?
// ####### 폼메일 '입력양식' and '발송코드' ########
 // 이것은 바로 사용 가능한 독립된 폼메일 소스입니다.
 // 본 파일 내에서 [내용입력]->[메일발송]이 모두 완료됩니다.
 // php 파일이므로 웹서버에 직접 올려야 정상동작 합니다.
 // 메일 받는사람을 고정시키거나 추가할 수 있습니다.
 // 입력란 추가항목은 50개 이상 추가할 수 있습니다.
 // 별표(★) 표시된 설정항목 확인후 서버에 올려서 테스트 하십시오
 
 
 // [★ 설정 1] 스팸메일에 악용될 우려 때문에 기본상태는 메일발송 차단되게 되어 있으니
 // 본 파일을 실제 사용하려면 이 설정항에 'yes' 를 대입하십시오.
  $it_uses = "yes";

 // [★ 설정 2] 메일을 받을 사람을 특정인(관리자)으로 고정하려면 그 메일주소와  이름을 대입하십시오.
      $to_mail_set = "";  // 메일주소
      $to_name_set = "";  // 이름

 // [★ 설정 3] 메일전송 완료후의 출력페이지를 지정하려면 URL 주소 대입(기본상태는 메일 입력폼이 다시 출력됨)
  $after_url="fast03.jpg";
 
 if($_POST['f_mailsend']){
  // 메일발송

  // send_mail_action($to_mail_set,$to_name_set);
send_mail_action("*** 개인정보보호를 위한 이메일주소 노출방지 ***","홍길동");
  // 위의 코드를 메일주소,이름만 바꿔서 여기에 반복해 넣어 주면 됨.

  alert_msg("메일발송 완료되었습니다.",$after_url);
 }
?>






<html>
<head>
<title>빠른 상담 요청</title>
<meta http-equiv='Content-Type' content='text/html; charset=euc-kr'>

<style type='text/css'>
BODY,TD,TR,input,DIV,form,pre,select,textarea{font-size:9pt; font-family:굴림,Tahoma; word-break:break-all;}
form{margin:0; padding:0; display:inline;}
</style>

<script language=JavaScript>

// [★ 설정 5] 입력여부 체크 - 입력확인 필요 없는 것은 삭제해도 됨
function form_mail_submit(){

if(no_value('add_value_2'))    return error_msg('add_value_2','메이커를 선택하십시오.');
if(no_value('mail_from_name'))    return error_msg('mail_from_name','신청자 이름을 입력하십시오.');
// if(no_value('mail_from_email'))    return error_msg('mail_from_email','신청자 메일을 입력하십시오.');
if(no_value('add_value_3'))    return error_msg('add_value_3','신청자 연락처를 입력하십시오.');
if(no_value('mail_body'))    return error_msg('mail_body','프로젝터 사용용도 및 설치공간을 입력하십시오.');

// if(no_value('add_value_1'))    return error_msg('add_value_1','입력란 추가1 을 입력하십시오.');
// if(no_value('add_value_2'))    return error_msg('add_value_2','입력란 추가2 을 입력하십시오.');
// if(no_value('add_value_3'))    return error_msg('add_value_3','입력란 추가3 을 입력하십시오.');
// if(no_value('add_value_4'))    return error_msg('add_value_4','입력란 추가4 을 입력하십시오.');
// if(no_value('add_value_5'))    return error_msg('add_value_5','입력란 추가5 을 입력하십시오.');

// if(!document.MailWriteForm.mail_to_email.value.match(/\S+@\S+\.\S+/)) return error_msg('mail_to_email','받는사람 메일주소를 확인하십시오.');
if(!document.MailWriteForm.mail_from_email.value.match(/\S+@\S+\.\S+/)) return error_msg('mail_from_email','신청자 메일주소를 확인하십시오.');
document.MailWriteForm.submit();
}
function no_value(inputName){
value=eval('document.MailWriteForm.'+inputName).value.replace(/\s/g,"");
if(!value) return 1;
}
function error_msg(inputName,msg){
alert(msg);
eval('document.MailWriteForm.'+inputName).focus();
return false;
}

</script>

</head>

<body bgcolor=#ffffff>












<FORM method='post' name="MailWriteForm" action="<?=$_SERVER['PHP_SELF']?>">
<input type=hidden name='f_mailsend' value='1'>



<table width=263 border=0 cellpadding=1 cellspacing=1>

<tr>
<td colspan=2 bgcolor=#f5f5f5><img src='fast01.jpg' align=absmiddle></td>
</tr>


<? // '설정2' 에서 메일받을 사람을 설정했다면 받는사람 이름/메일 입력칸은 출력안함
if($to_mail_set and $to_name_set){
echo "<input type=hidden name='mail_to_email' value='$to_mail_set'>";
echo "<input type=hidden name='mail_to_name' value='$to_name_set'>";
}else{
?>



<?}?>

<tr>
  <td><strong>ㆍ상품</strong></td>
  <td>
<div class="radio">
          <input type="radio" name="add_value_1" value="구매" checked/> 구매
        <input type="radio" name="add_value_1" value="사업자 리스"/> 사업자 리스
  </td></tr>

<tr>
<td width="113" height="25"><strong>ㆍ메이커</strong></td>
  <td width="177" height="25"><select id="add_value_2" name="add_value_2">
    <option value="">선택</option>
    <option value="LG 프로젝터">LG 프로젝터</option>
    <option value="인켈 카세트">인켈 카세트</option>
    <option value="쉐필드 공구">쉐필드 공구</option>
    <option value="기타">기타</option>

      </select></td>
  </tr>

<tr>
  <td height="25"><strong> ㆍ신청자</strong></td>
  <td height="25" ><input type=text name='mail_from_name' style='border:1px solid #aaaaaa; width:175px;'></td>
  </tr>
        <tr>
<td height="25"><strong> ㆍ신청자 메일주소</strong></td>
  <td height="25" ><input type=text name='mail_from_email' style='border:1px solid #aaaaaa; width:175px;'></td>
  </tr>




<tr>
<td height="25"><strong>ㆍ신청자 연락처</strong></td>
  <td height="25" ><input type=text name='add_value_3' style='border:1px solid #aaaaaa; width:175;'></td>
  </tr>




<!-----[★ 설정 6] 입력란을 추가 하려면 아래와 같이 일련 숫자를 사용해 계속 추가해 주면 됨 ---->

<tr>
    <td height="25" colspan="3">
<input type=hidden name='add_title_1' value="상품">
<input type=hidden name='add_title_2' value="메이커">
<input type=hidden name='add_title_3' value="신청자 연락처">
    <strong>ㆍ프로젝터 사용 용도 및 공간</strong></td>
  </tr>


<!-----[★ 설정 6] 입력란을 추가 하려면 위와 같이 일련 숫자를 사용해 계속 추가해 주면 됨 ---->








<!--- 본문 입력란 --->
<tr>
<td height="25" colspan=2 align=center>
<textarea name='mail_body'
style="border:1px solid #aaaaaa; width:100%; height:50px; overflow:auto; background-image:url('wrback.gif'); line-height:150%;"></textarea>
</td>
  </tr>
<tr><td colspan=2 height=5 style='padding:0;'><p>

<!--- 전송버튼 --->
<a onClick="javascript:form_mail_submit()" style='cursor:pointer;'><img src="fast02.jpg" alt="" border=0></a></p></td></tr>
</table>


</FORM>
</body>
</html>











<?


// 메일내용 html 구성
function mail_body_html($body){

$join_html= <<<EOF_LINE


<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=euc-kr'>
<style type=text/css>
body,td,input,div,select,textarea{font-size:9pt; font-family:굴림,Tahoma; line-height:140%; word-break:break-all;}
</style>
</head>

<body bgcolor='#ffffff' topmargin=5>


<table width=90% border=1 cellspacing=0 cellpadding=1 frame=void bordercolordark='#ffffff' bordercolorlight='#eeeeee' style='margin-bottom:8px;'>
<tr><td width=120><b>ㆍ</b>보낸사람</td><td> $_POST[mail_from_name]  &lt;$_POST[mail_from_email]&gt;</td></tr>
<tr><td width=120><b>ㆍ</b>받은사람</td><td> $_POST[mail_to_name]  &lt;$_POST[mail_to_email]&gt;</td></tr>

EOF_LINE;

// 추가입력란 삽입
for($i=1; $i<50; $i++){ // 입력추가항목이 50개 이상 된다면 '50'을 수정할것
if(!$_POST['add_title_'.$i]) continue;
$title=$_POST['add_title_'.$i];  $value=$_POST['add_value_'.$i];
$join_html.="
<tr>
<td width=120><b>ㆍ</b>$title</td><td> $value</td>
</tr>
";
}

$join_html.= <<<EOF_LINE

</table>

<table width=98% cellpadding=0 cellspacing=0 border=0 bgcolor='#ffffff' style='border:1px solid #1578FF;'>
<tr><td height=1 bgcolor='#A9CDFF'></td></tr>
<tr><td height=1 bgcolor='#67A7FF'></td></tr>
<tr>
<td bgcolor='#1578FF' style='padding:2px; padding-left:6px; color:#ffffff; font-weight:bold;'>
&nbsp; $_POST[mail_from_name]   고객님이 제품 문의 메일이 도착했습니다.!
</td>
</tr>
<tr><td height=1 bgcolor='#67A7FF'></td></tr>
<tr><td height=1 bgcolor='#A9CDFF'></td></tr>
<tr><td height=1 bgcolor='#1578FF'></td></tr>
<tr>
<td style='padding:5px'>
<!--메일 본문 내용-->
$body
</td>
</tr>
</table>

</body>
</html>

EOF_LINE;

return $join_html;

}








function send_mail_action($snd_mail,$snd_name){
if($GLOBALS['it_uses'] != 'yes') alert_msg("메일발송 실패 했습니다. 소스내의 '설정항목1' 을 우선 확인하십시오.");



if(!org_mail($_POST['mail_from_email'])) alert_msg('보내는 사람 메일주소가 잘못 되었습니다.');

if(!$_POST['add_value_1']) alert_msg('메이커를 선택하십시오.');

if(!$_POST['mail_from_name']) alert_msg('보낸사람 이름을 입력하십시오.');

if(!$_POST['add_value_3']) alert_msg('신청자 연락처를 입력하십시오.');

if(!$_POST['mail_body']) alert_msg('본문 내용을 입력하십시오.');

$mail_to = "\"$_POST[mail_to_name]\" <$_POST[mail_to_email]>";
$mail_from = "\"$_POST[mail_from_name]\" <$_POST[mail_from_email]>";

$head  = "From:$_POST[mail_from_email]\n";
$head .="Content-Type: text/html\n";
$head .="Reply-To:$_POST[mail_from_email]\n";
$head .="X-Mailer:PHP/".phpversion();


$body=nl2br($_POST['mail_body']);
$body=stripslashes($body);
$body=mail_body_html($body);

return @mail($mail_to, '고객님이 제품 문의 메일이 도착했습니다.!',$body,$head);
}


function org_mail($mail){
if(!preg_match("/\S+@(\S+\.\S+)/",$mail,$Tmp)) return ;
// if(!checkdnsrr($Tmp[1], "MX") and !checkdnsrr($Tmp[1], "A")) return ;
return 1;
}


function alert_msg($msg,$after_url=""){
$msg=preg_replace("/\"/","'",$msg);
echo " <script language='JavaScript'> alert(\"$msg\"); ";
if($after_url) echo " location.href='$after_url'; ";
else echo " history.go(-1); ";
echo "</script>";
exit;
}




?>

댓글 전체

메일 제목은 이부분 수정하시면 대고
return @mail($mail_to, '고객님이 제품 문의 메일이 도착했습니다.!',$body,$head);

메일이 안온다면 @ 를 지워보신후 에러메시지를 출력해보시거나 특정 포털만 메일이 안간다면

해당 발송서버를 화이트도메인 신청 하셔야 발송가능합니다.
원본 -> return @mail($mail_to,$_POST['mail_subject'],$body,$head);
수정 ->return @mail($mail_to, '고객님이 제품 문의 메일이 도착했습니다.!',$body,$head);
처음에는 제목을 불러왔으나 수정을 하여 고정 제목을 받을 수 있게 됐습니다.
추가로 입력한 고객님의 성함을 앞에 오게 해서 xxx 고개님의 제품 문의 ~~~ 이런식으로 원합니다.;

그리고 @를 지워봐도 에러 메세지 같은건 뜨질 않네요 -_-;;
여러 군데 이메일을 적어봐도 한군데도 오질 않았습니다.;;
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT