mail 폼 이용하기

mail 폼 이용하기

QA

mail 폼 이용하기

본문

2041172959_1516531402.6493.png
      <form name="sentMessage" id="contactForm" novalidate>
        <div class="row">
          <div class="col-md-6">
            <div class="form-group">
              <input type="text" id="name" class="form-control" placeholder="Name" required="required">
              <p class="help-block text-danger"></p>
            </div>
          </div>
          <div class="col-md-6">
            <div class="form-group">
              <input type="email" id="email" class="form-control" placeholder="Email" required="required">
              <p class="help-block text-danger"></p>
            </div>
          </div>
        </div>
        <div class="form-group">
          <textarea name="message" id="message" class="form-control" rows="4" placeholder="Message" required></textarea>
          <p class="help-block text-danger"></p>
        </div>
        <div id="success"></div>
        <button type="submit" class="btn btn-default">Send Message</button>
      </form>

 

안녕하세요,  위 폼에서  메일을 보냈구요.

 

네트워크를 확인해 보니  총 2개의 파일과 연동되는것 같더라구요...

contact_me.php와 contact_me.js 입니다.

 

---contact_me.php---

<?php
// Check for empty fields
if(empty($_POST['name'])          ||
   empty($_POST['email'])         ||
   empty($_POST['message'])    ||
   !filter_var($_POST['email'],FILTER_VALIDATE_EMAIL))
   {
    echo "No arguments Provided!";
    return false;
   }

$name = $_POST['name'];
$email_address = $_POST['email'];
$message = $_POST['message'];

// Create the email and send the message
$to = '*** 개인정보보호를 위한 이메일주소 노출방지 *** - This is where the form will send a message to.
$email_subject = "Website Contact Form:  $name";
$email_body = "You have received a new message from your website contact form.\n\n"."Here are the details:\n\nName: $name\n\nEmail: $email_address\n\nMessage:\n$message";
$headers = "From: *** 개인정보보호를 위한 이메일주소 노출방지 ***.
$headers .= "Reply-To: $email_address";
 mail($to,$email_subject,$email_body,$headers);
return true;
?>
 

 

---contact_me.js---

$(function() {

    $("input,textarea").jqBootstrapValidation({
        preventSubmit: true,
        submitError: function($form, event, errors) {
            // additional error messages or events
        },
        submitSuccess: function($form, event) {
            event.preventDefault(); // prevent default submit behaviour
            // get values from FORM
            var name = $("input#name").val();
            var email = $("input#email").val();
            var message = $("textarea#message").val();
            var firstName = name; // For Success/Failure Message
            // Check for white space in name for Success/Fail message
            if (firstName.indexOf(' ') >= 0) {
                firstName = name.split(' ').slice(0, -1).join(' ');
            }
            $.ajax({
                url: "././mail/contact_me.php",
                type: "POST",
                data: {
                    name: name,
                    email: email,
                    message: message
                },
                cache: false,
                success: function() {
                    // Success message
                    $('#success').html("<div class='alert alert-success'>");
                    $('#success > .alert-success').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×")
                        .append("</button>");
                    $('#success > .alert-success')
                        .append("<strong>Your message has been sent. </strong>");
                    $('#success > .alert-success')
                        .append('</div>');

                    //clear all fields
                    $('#contactForm').trigger("reset");
                },
                error: function() {
                    // Fail message
                    $('#success').html("<div class='alert alert-danger'>");
                    $('#success > .alert-danger').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×")
                        .append("</button>");
                    $('#success > .alert-danger').append("<strong>Sorry " + firstName + ", it seems that my mail server is not responding. Please try again later!");
                    $('#success > .alert-danger').append('</div>');
                    //clear all fields
                    $('#contactForm').trigger("reset");
                },
            })
        },
        filter: function() {
            return $(this).is(":visible");
        },
    });

    $("a[data-toggle=\"tab\"]").click(function(e) {
        e.preventDefault();
        $(this).tab("show");
    });
});


/*When clicking on Full hide fail/success boxes */
$('#name').focus(function() {
    $('#success').html('');
});

 

제 계정 메일로 받고 싶은데 어디를 고쳐야 할까요????

이 질문에 댓글 쓰기 :

답변 6

무료호스팅의 경우 

메일이 안보내지는 경우가 있어요

닷홈에 관리자에 물어본적이 있는데

무료는 안된다고 했어요

 

$to = "받으시는메일";

mail($to,$email_subject,$email_body,$headers);

이렇게 수정하시면 됩니다.

<b>Warning</b>:  mail() [<a href='function.mail'>function.mail</a>]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in <b>C:\APM_Setup\html\mail\contact_me.php</b> on line <b>22</b><br />
 

 

contact_me.php  추적해보니  위코드가  찍히네요....

메일서버 포트 25에 연결하지 못했다는 에러인데요

 

smtp가 실행되지 않았거나, 설정이 안되어 있을 확률이 큽니다

 

http://php.net/manual/kr/mail.configuration.php

 

위 참조하여 수정해보세요

사용하시는 서버가 어디신데요?

일반적으로 웹호스팅업체들은 메일서버가 당연히 깔려있지만 독립적인 서버를 구성하는 경우이거나 테스트용도의 개인서버를 구축하셨다면 메일서버 자체가 구성이 안되어 있을수도 있습니다. 관련해서도 한번 살펴보세요.

답변을 작성하시기 전에 로그인 해주세요.
전체 123,532 | RSS
QA 내용 검색

회원로그인

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