• Home
  • About Me
    • Yoon's Blog photo

      Yoon's Blog

      융가의
      개발일지입니다 :)

    • Learn More
    • Email
    • Facebook
    • Instagram
    • Github
  • Posts
    • All Posts
    • All Tags
    • JAVA
      • Java
      • spring Boot
    • PHP
      • PHP 7
      • Codeigniter
      • Lalavel
    • Linux
      • Linux
      • Ubuntu
    • DataBase
      • Oracle
      • Mysql
    • Develope Enviroment
      • Eclipse
      • Docker
      • Git hub

[PHP] Mail 전송하기

04 Jul 2021

Reading time ~2 minutes

1. View

<div id="sidequick" class="quick">
   <div class="quick_tit"><img src="/img/quick_tit.png" alt=""></div>
    <div class="form_wrp">
      <form name="req_form" id="req_form" method="post" onsubmit="return fwrite_submit(this);" action="/inc1/inc_mail_send_ok.php">
         <input type="hidden" name="bo_table" id="bo_table" value="online">
         <input type="hidden" name="wr_subject" id="wr_subject" value="간편상담">
         <input type="hidden" name="wr_content" id="wr_content" value="간편상담">
         <ul class="list-unstyled mb-none">
            <li>
               <label for="wr_1">성명</label>
               <input class="form-control" id="wr_name" name="wr_name" type="text" required="">
            </li>
            <li>
               <label for="wr_2">메일주소</label>
               <input class="form-control" id="wr_email" name="wr_email" type="email" required="">
            </li>
            <li>
               <label for="wr_3">연락처</label>
               <input class="form-control" id="wr_hp" name="wr_hp"  maxlength="11" type="text" required="">
            </li>
         </ul>
         <h4 class="tt">
            문의내용
         </h4>
         <div class="checkbox-custom checkbox-default">
            <input type="checkbox" id="chk_content" name="wr_1" value="A 프로그램 문의">
            <label for="chk1">A 프로그램 문의</label>
         </div>
         <div class="checkbox-custom checkbox-default">
            <input type="checkbox" id="chk_content" name="wr_2" value="B 제품 문의">
            <label for="chk2">B 제품 문의</label>
         </div>
         <div class="checkbox-custom checkbox-default">
            <input type="checkbox" id="chk_content" name="wr_3" value="C 행사 문의">
            <label for="chk3">C 행사 문의</label>
         </div>
         <div class="checkbox-custom checkbox-default">
            <input type="checkbox" id="chk_content" name="wr_4" value="D 기타 문의">
            <label for="chk4">D 기타 문의</label>
         </div>
         <div class="agree">
            <div class="checkbox-custom checkbox-default">
               <input type="checkbox" id="agr" required="">
               <label for="agr">개인정보 취급방침에 동의합니다.</label> <span data-toggle="modal" data-target="#privacy">[전문보기]</span>
            </div>
         </div>
         <input type="submit" class="smt_btn" value="작성완료">
      </form>
   </div>
</div>


<div class="modal fade privacy" id="privacy">
    <div class="modal-dialog">
        <div>
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
                    <h4 class="modal-title" id="defaultModalLabel">
                        개인정보 취급방침
                    </h4>
                </div>
                <div class="modal-body">
                    <div id="privacy" class="p-md">
                        <p align="center"><b>개인정보 처리방침에 대한 내용을 입력하십시오.</b></p>
               </div>
                </div>
            </div>
        </div>
    </div>
</div>

<script>
 function fwrite_submit(){

   var chk_length = $("input:checkbox[id=chk_content]:checked").length;
    
   var regExpHP = /^\d{3}\d{3,4}\d{4}$/; //핸드폰 
   var isnum = /^\d+$/.test(document.req_form.wr_hp.value);
   
   with(document.req_form){

      if(!isnum){
         alert("연락처는 숫자만 입력 가능합니다.");
         return false;
      }

      if(!regExpHP.test(wr_hp.value)){
         alert("연락처를 정확히 입력해주세요");
         return false;
      }


      if(chk_length < 1 ){
         alert("문의 내용은 적어도 하나는 선택해주세요.");
         wr_1.focus();
         return false;
      }
 
 
      return true;
   }  

 }

 $(window).load(function() {
   $("body").on("click", "#sidequick .quick_tit", function(){
      if($("#sidequick").is(".active") == false){
         $("#sidequick").addClass("active");
      }else{
         $("#sidequick").removeClass("active");
      }
   });

   $("body").on("click", ".quick .agree span", function(){
      if($("#privacy").css("display") == "block"){
         $("#privacy").slideUp();
      }else{
         $("#privacy").slideDown();
      }
   });
   $("body").on("click", "button.close", function(){
      $("#privacy").slideUp();
   });
});
</script> 

2. Proc

<?  
   header("Content-Type:text/html;charset=utf-8");
 
   // 이메일 발송
   function send_mail($se_name, $se_email, $re_name, $re_email, $subject, $content, $cc="", $bcc=""){

      $charset  = "utf-8";

      $se_name   = "=?$charset?B?" . base64_encode($se_name) . "?=";
      $subject = "=?$charset?B?" . base64_encode($subject) . "?=";

      $header  = "Return-Path: <$se_email>\n";
      $header .= "From: $se_name <$se_email>\n";
      $header .= "Reply-To: <$se_email>\n";
      if ($cc)  $header .= "Cc: $cc\n";
      if ($bcc) $header .= "Bcc: $bcc\n";
      $header .= "MIME-Version: 1.0\n";

      $header .= "Content-Type: TEXT/HTML; charset=$charset\n";
      $content = stripslashes($content);

      $header .= "Content-Transfer-Encoding: BASE64\n\n";
      $header .= chunk_split(base64_encode($content)) . "\n";

      $result = @mail($re_email, $subject, "", $header);

      return $result;

   }
     
   $wr_name = $_POST["wr_name"];
   $wr_email = $_POST["wr_email"];
   $wr_hp = $_POST["wr_hp"];
   $wr_1 = $_POST["wr_1"]; 
   $wr_2 = $_POST["wr_2"]; 
   $wr_3 = $_POST["wr_3"]; 
   $wr_4 = $_POST["wr_4"]; 
   $content = ''; 
 
 
   //보낸사람 정보
   $site_info = array('site_name' => $wr_name,               
                  'site_email' => $wr_email
   );
  
   //받는사람
   $re_name =  '관리자이름';
   $re_email = 'admin@test.com';  
 
   $tmp_array = array($wr_1, $wr_2, $wr_3, $wr_4);
 
   for($i=0; $i<count($tmp_array); $i++){

      if($tmp_array[$i]){
         $content_array[] = $tmp_array[$i]; 
      }
   }
     
   $wr_content = implode( ' / ', $content_array );
   
   $content = "<table width=100% cellpadding=2> 
            <tr><td width='10%;'><b>성명</b></td><td>$wr_name</td></tr>
            <tr><td width='10%;'><b>메일주소</b></td><td>$wr_email</td></tr>
            <tr><td width='10%;'><b>연락처</b></td><td>$wr_hp</td></tr>
            <tr><td width='10%;'></td><td></td></tr>
            <tr><td width='10%;'></td><td></td></tr>
            <tr><td width='10%;'><b>문의내용</b></td><td>$wr_content</td></tr> 
            </table>";

      $email_subj = "문의합니다";
      //$email_msg = str_replace("{MESSAGE}",$content,'');
      //$email_msg = str_replace("{SITE_URL}", "http://".$HTTP_HOST, $email_msg);
 
      send_mail($site_info[site_name], $site_info[site_email], $re_name, $re_email, $email_subj, $content);

   echo '<script>alert("문의가 완료되었습니다."); location.href="/";</script>';
 
?>


PHPMailJavaScript Share Tweet +1