폼메일이 안 와요. 네이버, 구글 양쪽 전부 안 와요.

폼메일이 안 와요. 네이버, 구글 양쪽 전부 안 와요.

QA

폼메일이 안 와요. 네이버, 구글 양쪽 전부 안 와요.

본문

폼메일이 안 와요. 네이버, 구글 양쪽 전부 안 와요.

어디가 문제인지요? 감사합니다.

 

<< mail.php >>

<?php

    if ($_SERVER["REQUEST_METHOD"] == "POST") {

        # FIX: Replace this email with recipient email
        $mail_to = "*** 개인정보보호를 위한 이메일주소 노출방지 ***";
        
        # Sender Data
        $subject = trim($_POST["subject"]);
        $name = str_replace(array("\r","\n"),array(" "," ") , strip_tags(trim($_POST["name"])));
        $phone = trim($_POST["phone"]);
        $email = filter_var(trim($_POST["email"]), FILTER_SANITIZE_EMAIL);
        $message = trim($_POST["message"]);
        
        if ( empty($name) OR !filter_var($email, FILTER_VALIDATE_EMAIL) OR empty($phone) OR empty($subject) OR empty($message)) {
            # Set a 400 (bad request) response code and exit.
            http_response_code(400);
            echo "양식을 작성하고 다시 시도하십시오.";
            exit;
        }
        
        # Mail Content
        $content = "Name: $name\n";
        $content .= "Phone: $phone\n";

        $content .= "Email: $email\n\n";

        $content .= "Message:\n$message\n";

        # email headers.
        $headers = "From: $name <$email>";

        # Send the email.
        $success = mail($mail_to, $subject, $content, $headers);
        if ($success) {
            # Set a 200 (okay) response code.
            http_response_code(200);
            echo "감사합니다! 메시지가 전송되었습니다.";
        } else {
            # Set a 500 (internal server error) response code.
            http_response_code(500);
            echo "앗! 문제가 발생하여 메시지를 보낼 수 없습니다.";
        }

    } else {
        # Not a POST request, set a 403 (forbidden) response code.
        http_response_code(403);
        echo "제출에 문제가 있습니다. 다시 시도해 주세요.";
    }

?>
 

==================================

<< mail_test.html >>

 

<?php
include_once('./_common.php');

define('_INDEX_', true);
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가


?>


<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>견적문의</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
</head>
<body>

    <!-- 견적문의 form -->
    <section style="margin-top: 50px;">
        <div class="container">
            <div class="row justify-content-center">
                <div class="col-md-8">
                    <div class="card">
                        <h5 class="card-header">견적문의</h5>


                        
                        <div class="card-body">

                            <form class="contact__form" method="post" action="mail.php">
                                
                                <!-- form message -->
                                <div class="row">
                                    <div class="col-12">
                                        <div class="alert alert-success contact__msg" style="display: none" role="alert">
                                            문자 메시지가 전송되었습니다.^^
                                        </div>
                                    </div>
                                </div>
                                <!-- end message -->

                                <!-- form element -->
                                <div class="row">
                                    <div class="col-12 form-group">
                                        <label for="name">이름</label>
                                        <input name="name" type="text" class="form-control" placeholder="이름" required>
                                    </div>

                                    <div class="col-12 form-group">
                                        <label for="phone">전화번호</label>
                                        <input name="phone" type="text" class="form-control" placeholder="전화번호" required>
                                    </div>

                                    <div class="col-12 form-group">
                                        <label for="email">이메일</label>
                                        <input name="email" type="email" class="form-control" placeholder="이메일주소" required>
                                    </div>

                                    <div class="col-12 form-group">
                                        <label for="email">제목</label>
                                        <input name="subject" type="text" class="form-control" placeholder="제목" required>
                                    </div>
                                    <div class="col-12 form-group">
                                        <label for="text">견적문의</label>
                                        <textarea name="message" class="form-control" rows="3" placeholder="견적 문의 시 평수, 설정온도, 원하시는 제품 용량, 보온 조건, 현재 계약 전력 등을 남겨주시면 보다 정확한 견적이 가능합니다." required></textarea>
                                    </div>
                                    <div class="col-12">
                                        <input name="submit" type="submit" class="btn btn-success" value="문의 보내기">
                                    </div>
                                </div>
                                <!-- end form element -->
                            </form>

                        </div>

                    
        


                    </div>
                </div>
            </div>
        </div>
    </section>
    <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
    <script src="main.js"></script>
</body>
</html>

 

============================

<< main.js >>

 

(function ($) {
    'use strict';

    var form = $('.contact__form'),
        message = $('.contact__msg'),
        form_data;

    // Success function
    function done_func(response) {
        message.fadeIn().removeClass('alert-danger').addClass('alert-success');
        message.text(response);
        setTimeout(function () {
            message.fadeOut();
        }, 2000);
        form.find('input:not([type="submit"]), textarea').val('');
    }

    // fail function
    function fail_func(data) {
        message.fadeIn().removeClass('alert-success').addClass('alert-success');
        message.text(data.responseText);
        setTimeout(function () {
            message.fadeOut();
        }, 2000);
    }
    
    form.submit(function (e) {
        e.preventDefault();
        form_data = $(this).serialize();
        $.ajax({
            type: 'POST',
            url: form.attr('action'),
            data: form_data
        })
        .done(done_func)
        .fail(fail_func);
    });
    
})(jQuery);

 

================

 

 

 

 

 

 

 

이 질문에 댓글 쓰기 :

답변 2

소스 문제보단 메일서버쪽 문제로 보여집니다. 해당 웹호스팅 서버에서 메일서버가 제대로 작동되지 않거나 할 경우가 있습니다.

구글 SMTP 나 네이버 SMTP 를 이용해보세요.

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

회원로그인

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