PHP로 이메일 보내기
다음은 CentOS 기준 설명으로 아파치, PHP는 최소한 설치되어있어야 하며 그 둘이 연동 되어있고, 특정 도메인에 대한 설정이 모두 완료되었을때만 정상적으로 작동됩니다. 또한 root 계정으로 모든 명령을 수행하고 있으므로, 만약 sudoers 계정인 경우 앞에 sudo를 붙여 모든 명령을 수행해 주세요!
1. sendmail 설치확인
#CentOS에서 php로 메일을 보내기 위해서는 우선 sendmail이 OS에 설치되어있어야 합니다.
rpm -qa | grep sendmail
#위 명령어를 통해 검색된 결과가 있다면 정상적으로 설치되어있는 것이니 다음 단계를 진행하시고, 없다면 다음의 명령어를 입력하여 설치하세요.
yum install sendmail
2. 메일 관련 설정
#sendmail이 설치되면, /etc/mail 디렉토리에 관련 내용들이 추가되어있게됩니다.
vi /etc/mail/sendmail.cf
#위 파일을 수정합니다. Esc -> /Dj 엔터를 입력하여, 현재 문서에서 Dj 문자열과 매칭되는 부분을 찾습니다. (하나밖에 안나올거예요.)
#기본적으로 #Dj$w.Foo.COM 라고 입력이 되어있을텐데, 이것을 본인이 가지고 있는 도메인 주소로 변경해주세요.
Djfureweb.com
#Esc -> :wq -> 엔터 입력 후 문서를 저장하고 나와 sendmail 데몬을 재시작합니다.
#CentOS 6인경우
service sendmail restart
#CentOS 7인경우
systemctl restart sendmail
3. 메일 발송용 php 파일 생성
#내 도메인은 fureweb.com이고, 이 도메인의 DocumentRoot는 /home/username/이라고 가정합니다.
cd /home/username
#메일 발송용 php파일을 생성합니다.
vi mail.php
#mail.php 파일 내용을 다음과 같이 간단하게 입력 후 저장 -> 빠져나오기 해봅니다. 만약 /etc/php.ini short_tag_open = On 으로 되어있지 않다면 해당 내용 반영 후 아파치를 재시작해주세요. 싫으시면 <? 대신 <?php로 입력 해주세요.
<? mail('내이메일주소', '제목입니다.', '내용입니다'); ?>
#메일 발송을 시도하기위해, 브라우저에서 방금 만든 파일을 요청합니다. 발송 시도 전, 만약 root계정으로 mail.php 파일을 만드셨다면 chown username.username mail.php 하여 소유자를 변경해주세요.
fureweb.com/mail.php
#내 메일함으로 이동해서 메일이 도착했는지 확인합니다.
PHP로 메일 발송하기가 완료됐습니다!
나머지 부분 (header에 대한 정의, mail함수를 구현한 별도의 php 함수 구현 등)은 직접 응용해서 사용하세요~~ ^^
최근 댓글