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 함수 구현 등)은 직접 응용해서 사용하세요~~ ^^

You may also like...

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.