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

5 개월 전 384

폼메일이란?

폼메일(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><br><br>
<label for="email">이메일:</label>
<input type="email" id="email" name="email" required><br><br>
<label for="message">내용:</label><br>
<textarea id="message" name="message" rows="4" cols="50" required></textarea><br><br>
<input type="submit" value="발송">
</form>
</body>
</html>

2. 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 .= "<p><strong>이름:</strong> {$name}</p>";
    $email_content .= "<p><strong>이메일:</strong> {$email}</p>";
    $email_content .= "<p><strong>내용:</strong><br>{$message}</p>";
    $email_content .= "</body></html>";

    // 이메일 전송
    if (mail($to, $subject, $email_content, $headers)) {
        echo "메시지 전송에 성공했습니다.";
    } else {
        echo "메시지 전송에 실패했습니다.";
    }
} else {
    echo "요청이 정확하지 않습니다.";
}
?>

작동 방식

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

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


한글 맞춤법과 문법 검사기 모음

부산대학교 한국어 맞춤법/문법 검사기를 비롯하여 네이버, 다음, 인크..

홈페이지 이미지 사이즈, 해상도 그리고 비율

웹 이미지를 제작할 때 고려해야 할 중요한 요소는 이미지의 사이즈, ..

로렘 입숨과 한글 로렘 입숨, 웹 디자인 추천 도구

로렘 입숨, Lorem Ipsum은 일종의 더미 텍스트(dummy t..

IP 주소 및 도메인 정보 조회, WHOIS 검색.

원하는 도메인을 사용할 수 있는지, 웹사이트를 누가 소유하고 있는지,..

웹사이트 디자인을 완성하는 웹폰트와 무료 폰트

홈페이지나 쇼핑몰 제작 시 꼭 필요한 무료 폰트, 웹폰트를 소개합니..

웹디자인 참고 사이트와 홈페이지 제작업체 순위

굿디자인웹, 디비컷, 카페24 디자인센터, 비핸스 Behance, 월..