mail()함수를 사용하여 php로도 간단한 메일을 전송할 수 있다.

단, mail()함수는 리눅스에서만 사용가능하다는 단점

 

매뉴얼을 보면

mail ( string $to , string $subject , string $message [, mixed $additional_headers [, string $additional_parameters ]] ) : bool

라고 나와있다.

 

mail(받는 사람의 이메일, 제목, 메시지 [, 헤더 [, 파라미터]]) 이며 성공시 true, 실패시 false를 반환한다.

 

1. 받는사람주소, 제목, 메시지는 mail함수의 필수 파라미터이다. 이것만을 사용하여 간단히 메일을 보낼 수 있다.

$message는 70자를 초과할 경우 자동 줄바꿈을 하도록 wordwrap() 함수를 사용하도록 권한다.

$message = "안녕하세요. 이 메일은 1992년 영국으로부터 시작된 메일이며 확인 즉시 10명에게 전달해야합니다. 그렇지 않으면....";
$message = wordwrap($message, 70, "\r\n");

$result = mail('받을사람이메일@gmail.com', '제목입니다.', $message);
echo "메일 성공여부 : ";
if($result){echo "성공";}else{echo "실패";}

 

 

2. 헤더를 추가해보자.

헤더에는 From(보내는 사람), Cc : 참조할 사람, Bcc: 숨은 참조 Reply-To: 답장할 메일주소 등을 추가할 수 있으며,

헤더는 CRLF(\r\n)로 구분해야한다.

$to      = '받는사람이메일@gmail.com';
$subject = '제목입니다.';
$message = '안녕하세요. 이 메일은 1992년 영국으로부터 시작된 메일이며 확인 즉시 10명에게 전달해야합니다. 그렇지 않으면....';

$headers = 'From: 보내는 메일주소@naver.com' . "\r\n" .
    'Reply-To: 답장 누르면 답메일 보낼 주소(보통은 from과 같음)@naver.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();
    
$result =mail($to, $subject, $message, $headers);
echo "메일 성공여부 : ";
if($result){echo "성공";}else{echo "실패";}

 

2-1. 헤더는 배열로도 가능하다.

$to      = '받는사람이메일@gmail.com';
$subject = '제목입니다.';
$message = '안녕하세요. 이 메일은 1992년 영국으로부터 시작된 메일이며 확인 즉시 10명에게 전달해야합니다. 그렇지 않으면....';

$headers = array(
    'From' => '보내는 메일주소@naver.com',
    'Reply-To' => '답장 누르면 답메일 보낼 주소(보통은 from과 같음)@naver.com',
    'X-Mailer' => 'PHP/' . phpversion()
);

$result =mail($to, $subject, $message, $headers);
echo "메일 성공여부 : ";
if($result){echo "성공";}else{echo "실패";}

 

 

이렇게 보낼 경우 '메일을 보내는 페이지.php'에서는 

 

 

메일함에 가면 메일이 잘 도착해 있다.

 

 

 


WRITTEN BY
beautifulhill

,