티스의 이야기

PHP-메일전송폼3 본문

프로그래밍

PHP-메일전송폼3

밍딩이 2016. 6. 17. 10:43

PHP-메일전송폼3탄


<?php

// h() 함수 레시피 218를 불러옵니다 레시피 041.

require_once '../../../../lib/h.php';

// checkInput() 함수를 불러옵니다.

require_once '../../../../lib/checkInput.php';

// 메일 전송용 sendmail() 함수를 불러옵니다.

require_once '../../../../lib/sendmail.php';


// 받는이의 메일 주소

$mailTo = 'newuser@example.kr';

// 메일 제목

$subject = '문의 사항이 수신되었습니다.';

// Return-Path로 지정할 메일 주소

$returnMail = $mailTo;



// 클릭재킹(clickjacking) 대책 레시피 287을 마련합니다.

header('X-FRAME-OPTIONS: SAMEORIGIN');



// 세션을 시작합니다.

session_start();



// POST된 데이터를 확인합니다.

$_POST = checkInput($_POST);



// 토큰을 확인합니다. 

if (isset($_POST['token']) && isset($_SESSION['token'])) {

$token = $_POST['token'];

if ($token != $_SESSION['token']) {

die('잘못된 액세스입니다.');

} else {

die('잘못된 액세스입니다.');

}


// 변수에 세션 변수를 대입합니다.

$name   = $_SESSION['name'];

$email   = $_SESSION['email'];

$comment = $_SESSION['comment'];


// mbstring의 한국어 설정을 합니다.

mb_language('ko');

mb_internal_encoding('UTF-8');


// 전송 결과를 알리는 변수를 초기화합니다.

$message = '';


// 메일의 전송과 결과를 확인합니다.

$result = sendmail($name, $email, $mailTo, $subject, $comment, $returnMail);

if ($result) {

$message = '전송 완료!';

// 세션 변수를 종료 레시피 227합니다.

$_SESSION = array();

session_destroy();

} else {

$message = '전송 실패';

}

?>


<!DOCTYPE html>

<html lang="ko">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width,initial-scale=1.0">

<title>메일 전송 폼</title>

</head>

<body>

<div id="mailbox">

<h1>메일 전송</h1>

<p><?php echo h($message); ?></p>

</div>

</body>

</html>



'프로그래밍' 카테고리의 다른 글

PHP-태그를 없애고 싶을 때  (0) 2016.06.23
PHP-magic_quotes_gpc  (0) 2016.06.23
PHP-메일전송폼 2  (0) 2016.06.16
PHP-메일 전송 코드  (0) 2016.06.16
PHP-메일전송 폼을 작성하고 싶을때  (0) 2016.06.15
Comments