본문 바로가기
PHP/PHP Advanced

PHP Email 구문

by 진격의 파파 2013. 6. 28.
반응형

 

이번장에선 PHP email 구문에 대해서 알아보겠습니다.

 

우선 email을 이용하기 위해선 25번 포트가 열려 있어야 하며, SMTP 서버가 설치되어 있어야 하고

php.ini 의 설정에

SMTP = localhost

smtp_port = 25

sendmail_from = me@example.com

보통은 위처럼 설정이 되어 있는데 만약 sendmail_from에 주석처리가 되어 있을경우 주석을 풀고 사용할 이메일을 적어주고 아파치를 재시작하면 됩니다. 만약 그렇지 않다면

"Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set()" 같은 에러가 발생할 것입니다.

 

그럼 모두 셋팅이 되었다는 가정하에 설명하겠습니다.

php email의 기본문법은

mail(to,subject,message,headers,parameters)

입니다.

to : 이메일 받을 사용자 설정

subject : 이메일의 제목을 설정

message : 이메일의 내용을 설정

headers : 선택사항이며 참조/숨은참도등의 추가 설정

parameters : 선택 사항이며, sendmail 프로그램 추가 매개 변수를 지정

 

간단한 구문
<?php
$to = "
user@example.com";
$subject = "이메일 테스트";
$message = "안녕하세요!! 간단한 이메일 테스트 입니다.";
$from = "
test@example.com";
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
echo "Mail Sent.";
?>

// 위 처럼 간단하게 이메일 보내기 테스트를 할 수 있습니다.

 

 

그리고 form을 이용하여 이메일 보내기

---------------- mail.php ---------------------

<html>
<body>
<?php
if (isset($_REQUEST['email'])) { // 만약 이메일값이 있으면 아래 구문을 실행
//send email
$email = $_REQUEST['email'] ;
$subject = $_REQUEST['subject'] ;
$message = $_REQUEST['message'] ;
mail("
user@example.com", $subject, $message, "From:" . $email);
echo "정상적으로 이메일을 보냈습니다.";
} else { // 만약 이메일 값이 없으면 아래 구문을 실행
echo "<form method='post' action='mail.php'> // 현재 페이지로 넘김
Email: <input name='email' type='text'><br>
Subject: <input name='subject' type='text'><br>
Message:<br>
<textarea name='message' rows='15' cols='40'>
</textarea><br>
<input type='submit'>
</form>";
}
?>
</body>
</html>

// 폼 형식을 이용하여 네이버, 구글, 다음등의 메일 형식과 조금이라도 비슷하게 하여 메일을 보낼수 있습니다. 물론 포털사이트들의 메일보내는 기능은 매우 복잡하지만 모두 시작은 이렇게 기본부터 출발했다는것을 기억하기 바랍니다.

 

지금까지 간단하게 이메일에 보내기에 대해서 알아보았는데 기본중의 기본을 설명한것입니다. 좀더 응용하기 위해선 인터넷도 많이 찾아보고 오픈소스등도 참조하여 응용을 많이 해보기 바랍니다.

포스팅중에 오타 또는 오류가 있을경우 쪽지, 댓글 남겨주시면 바로 수정하겠습니다.

반응형

'PHP > PHP Advanced' 카테고리의 다른 글

PHP Error 관련  (0) 2013.07.01
PHP Sessions 구문  (0) 2013.06.27
PHP cookies 구문  (0) 2013.06.26
PHP file upload 구문  (2) 2013.06.25
PHP file 처리 함수  (0) 2013.06.24