본문으로 건너뛰기

폼메일과 PHP로 작성한 폼메일 예시 코드

조회수 560 게시일 2024.06.11 1주 전 수정

폼메일 기본 개념과 PHP 예시 코드를 통해 웹사이트 문의폼 데이터를 이메일로 전송하는 구현 흐름을 정리했습니다. 예시 코드, 작동 방식, HTML 폼 작성 (form.html), PHP 메일 전송 파일 (send_mail.php) 등을 다룹니다.

폼메일(Formmail)은 웹 사이트에서 사용자로부터 입력받은 데이터를 이메일을 통해 전송하는 시스템을 의미합니다. 이를 통해 웹사이트 방문자가 특정 양식을 작성하여 제출하면 그 내용이 사전에 지정된 이메일 주소로 전송됩니다. 폼메일은 주로 다음과 같은 목적으로 사용됩니다:

  • 문의/피드백 수집: 사용자로부터 문의 사항이나 피드백을 받아볼 수 있습니다.
  • 가입 신청서: 특정 서비스나 이벤트에 대한 신청서를 받아볼 수 있습니다.
  • 설문 조사: 사용자 의견을 수집하여 분석할 수 있습니다.
  • 기타 데이터 수집: 사용자 정보나 기타 데이터를 수집하여 이메일로 받아볼 수 있습니다.

폼메일을 구현하기 위해서는 다음과 같은 단계가 필요합니다:

  1. HTML 폼 작성: 사용자가 데이터를 입력할 수 있는 폼을 HTML로 작성합니다.
  2. 서버 측 스크립트 작성: 사용자가 폼을 제출하면 서버 측에서 그 데이터를 받아 이메일로 전송하는 스크립트를 작성합니다. PHP, ASP, Python 등 다양한 언어를 사용할 수 있습니다.
  3. 폼 연결: HTML 폼에서 데이터를 서버 측 스크립트로 전송할 수 있도록 연결합니다.

1. 예시 코드

HTML 폼 작성 (form.html)

<!DOCTYPE html>

    <html lang="ko">

    <head>

    <meta charset="UTF-8">

    <title>폼메일 예시</title>

    </head>

    <body>

    <h2>Contact Us</h2>

    <form action="send_mail.php" method="post">

    <label for="name">이름:</label>

    <input type="text" id="name" name="name" required>



    <label for="email">이메일:</label>

    <input type="email" id="email" name="email" required>



    <label for="message">내용:</label>


    <textarea id="message" name="message" rows="4" cols="50" required></textarea>



    <input type="submit" value="발송">

    </form>

    </body>

    </html>

PHP 메일 전송 파일 (send_mail.php)

<?php

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

        // 폼에서 전송된 데이터 가져오기

        $name = htmlspecialchars($_POST['name']);

        $email = filter_var($_POST['email'], FILTER_SANITIZE_EMAIL);

        $message = htmlspecialchars($_POST['message']);



        // 이메일 설정

        $to = "youremail@example.com"; // 실제 이메일 주소로 변경

        $subject = "폼메일 예시 제목";

        $headers = "From: " . $email . "\r\n";

        $headers .= "Reply-To: " . $email . "\r\n";

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



        // 이메일 내용 작성

        $email_content = "<html><body>";

        $email_content .= "<h2>폼메일 예시 내용</h2>";

        $email_content .= "이름: {$name}";

        $email_content .= "이메일: {$email}";

        $email_content .= "내용:
{$message}";

        $email_content .= "</body></html>";



        // 이메일 전송

        if (mail($to, $subject, $email_content, $headers)) {

            echo "메시지 전송에 성공했습니다.";

        } else {

            echo "메시지 전송에 실패했습니다.";

        }

    } else {

        echo "요청이 정확하지 않습니다.";

    }

    ?>

2. 작동 방식

  1. 사용자는 'form.html' 페이지에서 이름, 이메일, 메시지를 입력하고 "발송" 버튼을 클릭합니다.
  2. 폼 데이터는 'send_mail.php'로 전송됩니다.
  3. 'send_mail.php'스크립트는 폼 데이터를 받아서 이메일로 전송합니다.

이 방식은 간단하고 효과적이지만, 실제 운영 환경에서는 보안 강화 및 스팸 방지를 위한 추가적인 조치가 필요합니다. 예를 들어, reCAPTCHA를 추가하거나 입력 데이터에 대한 검증을 강화하는 등의 방법을 고려할 수 있습니다.

제작·운영 상담이
필요하시면

이 글과 맞는 범위·일정을 함께 정리해 드립니다.