반응형
PHP 메일발송하기 mail()
php의 함수 mail()을 이용하여 이메일을 보낼수 있다.
1.mail() 함수
mail("받는 사람","메일 제목","메일 내용","메일 헤더")
받는 사람 : 메일을 받는 대상자이다.
메일 제목 : 메일 제목에 해당됩니다.
메일 내용 : 메일의 내용에 포함됩니다. (이쁘게 꾸밀수도 있습니다)
메일 헤더 : 참조, 숨은 참조등 다양한 옵션을 추가 할수 있습니다.
2.mail() 예제
[기초형식]
<?php
$to = ''; //받는 사람
$title = ''; //메일 제목
$contents = ''; //메일 내용
$headers = ''; //헤더
mail($to, $title, $contents, $headers);
?>
[예제]
<?php
$to = 'sda0503@naver.com'; //받는 사람
$title = 'PHP 메일 테스트'; //메일 제목
$contents = '테스트 내용입니다.'; //메일 내용
$headers = 'From: sda0503@naver.com'; //헤더
mail($to, $title, $contents, $headers);
?>
[결과]
3.mail() 글자가 깨질때
메일 발송시 한글이 깨져서 보내지는 이슈가 있다.
[이슈]
[해결방법]
1. 제목이 깨지는 경우 - 제목을 utf-8형식으로 인코딩 해준다.
$title_encode = "=?utf-8?B?".base64_encode($title)."?=\n"
<?php
$title = ''; //제목
$title_encode = "=?utf-8?B?".base64_encode($title)."?=\n";
?>
2. 내용이 깨지는 경우 - 헤더를 utf-8형식으로 설정해준다.
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
<?php
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
$headers .= "From: sda0503@naver.com";
?>
4.mail() 헤더 참조, 숨은 참조
참조는 cc, 숨은참조는 bcc이다 모두 헤더에 추가한다.
$headers .= "Cc: sda0503@naver.com"; // 참조
$headers .= "Bcc: sda0503@naver.com"; // 숨은참조
<?php
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
$headers .= "From: sda0503@naver.com";
$headers .= "Cc: sda0503@naver.com"; // 참조
$headers .= "Bcc: sda0503@naver.com"; // 숨은참조
?>
5.전체코드
<?php
$to ="sda0503@naver.com" // 받는사람
$title = "제목을 입력하여주세요"; // 제목
$title_encode = "=?utf-8?B?".base64_encode($title)."?=\n"; //제목 인코딩
$contents = "내용을 입력하여주세요"; //내용
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n"; //헤더인코딩
$headers .= "From: sda0503@naver.com\r\n"; //보내는 사람
$headers .= "Cc: "sda0503@naver.com"\r\n"; //참조
$headers .= "Bcc: "sda0503@naver.com"\r\n"; //숨은참조
$send_mail = mail($to, $title_encode, $contents, $headers); //메일보내기
echo $send_mail; //성공하면 1을 실패하면 0을 출력
?>
반응형
'웹언어 > PHP' 카테고리의 다른 글
나만의 홈페이지를 위한 무료 웹호스팅 비교 (0) | 2022.06.29 |
---|---|
[PHP] 전역변수 사용하기 (0) | 2022.05.20 |
[PHP] DB연결하기 (0) | 2022.03.18 |
[PHP]닷홈 호스팅 phpMyAdmin 접속하기 (2) | 2022.02.25 |
[PHP]닷홈 호스팅 DB연결하기 (2) | 2022.02.18 |