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

2 개월 전 74

폼메일이란?

폼메일(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를 추가하거나 입력 데이터에 대한 검증을 강화하는 등의 방법을 고려할 수 있습니다.


홈페이지 제작 기간은 보통 얼마나 걸리나요?

홈페이지, 쇼핑몰 등 웹사이트 제작에 걸리는 기간은 짧게는 며칠에서 ..

홈페이지, 웹사이트 디자인 사이즈

현재 인터넷 이용자의 미디어 해상도를 고려했을 때 적절한 홈페이지 가..

웹 호스팅 선택 기준과 비용, 추천 업체

웹 호스팅은 홈페이지나 쇼핑몰을 운영하기 위해 꼭 필요한 웹 서버를 ..

그누보드, 워드프레스, 제로보드 등 편리한 웹사이트 제…

홈페이지, 쇼핑몰, 커뮤니티 제작 시 비용과 시간을 줄이고 편리하게 ..

디비컷, 추천 웹에이전시와 웹디자인 참고 사이트

웹디자이너 커뮤니티 '디비컷'과 카페24 디자인센터, 아카데미 정글,..

웹 호스팅, 웹 서버 관리 방법

전문적인 호스팅 업체를 이용할 경우 데이터와 DB의 백업이 매일 새벽..