개발자의 끄적끄적

[php] 메일발송하기 [펌] 본문

개발/php

[php] 메일발송하기 [펌]

효벨 2020. 1. 14. 09:48
728x90
반응형

[php] 메일발송하기 [펌]

 

 

 - PHP mail 이란?

 

   mail 함수는 PHP를 이용하여 이메일을 보내는데 사용하는 함수입니다.

 

 

 - PHP mail 사용방법

 

   mail("받는 메일 주소""메일 제목""메일 내용""메일 헤더");

 

 

 [참고사항] 메일 헤더

 

 

   메일 발송시 사용하는 옵션인 메일 헤더는 메일 헤더의 뒷편에 추가하고 싶은 헤더내용을 입력할 수 있는 인수입니다.

   일반적으로 보내는 메일주소, 참조, 숨은참조등을 메일 헤더 옵션에 추가하여 사용합니다.

 

 

 

 - 예제 1

 

   아래의 항목을 참고하여 메일을 발 송 할 수 있도록 소스를 구성하시오.

 

 

항목

내용

받는 메일 주소

diceworld@naver.com

보낼 메일 주소

diceworld@naver.com

메일 제목

PHP 메일 발송

메일 내용

PHP mail()함수를 이용한 메일 발송 테스트

 

 

 - 예제 1 소스

 

   $to "diceworld@naver.com";

   $subject "PHP 메일 발송";

   $contents "PHP mail()함수를 이용한 메일 발송 테스트";

   $headers "From: diceworld@naver.com\r\n";

 

   mail($to$subject$contents$headers);

 

 

   결과

 

  

 

 

 - 예제 2

 

   아래의 항목을 참고하여 메일을 발 송 할 수 있도록 소스를 구성하시오.

 

 

항목

내용

받는 메일 주소

diceworld@naver.com

보낼 메일 주소

diceworld@naver.com

메일 제목

PHP 메일 발송

메일 내용

PHP 참조메일 발송 테스트

참조

diceworld@naver.com

 

 - 예제 2 소스

 

   $to "diceworld@naver.com";

   $subject "PHP 메일 발송";

   $contents "PHP 참조메일 발송 테스트";

   $headers "From: diceworld@naver.com\r\n";

   $headers .= "Cc: diceworld@naver.com\r\n";

 

   mail($to$subject$contents$headers);

 

 

   결과

 

  

 

 

 [참고사항] 참조, 숨은 참조

 

 

   메일 발송시 참조와 숨은참조를 사용할 수 있습니다.

   참조는 발송옵션에 .Cc 를 추가하면 되며 숨은참조는 발송옵션에 .Bcc 를 추가하면 됩니다.

 

 

 

 

 - 윈도우에서 Apache + PHP를 사용하는 경우

 

   Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25,

   verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\APM_Setup\htdocs\index.php on line 12

   와 같은 오류가 발생할 수 있습니다. 이런 경우 메일발송서버를 따로 설치하셔야 합니다.

 

 

 - 리눅스에서 selinux 에 막힌 경우

 

   오류메세지가 표시되지 않는 경우도 존재하는데 리눅스 콘솔창에서

   cat /var/log/maillog 를 이용하여 어떤 메세지가 나오는지 확인하셔야 합니다.

   만약 postfix/sendmail[숫자]: fatal: chdir /var/spool/postfix: Permission denied 가 로그에 있는 경우

   /usr/sbin/setenforce 0 를 통해 잠시 selinux 를 끄고 발송을 해보시기 바랍니다.

 

 

 - 스펨메일로 분류되는 경우

 

   메일발송이 실패하고 리눅스 콘솔창에서 cat /var/log/maillog 명령어를 쳤을 때

   Your ip is filtered by RBL. And this connection will be closed.(IP:IP주소)

   (Caues:http://www.spamhaus.org/query/bl?ip=IP주소)

   와 같이 나오는 경우 해당 아이피가 블랙리스트에 등록되어 있는 것입니다.

   아이피를 블랙 리스트에서 제외되도록 해제 신청을 하시거나 다른 아이피를 사용하셔야 합니다.

 

 

출처 : https://m.blog.naver.com/diceworld/220253940901

반응형
Comments