>백엔드 개발 >PHP 튜토리얼 >PHP의 메일 기능이 이메일을 보내는데 실패하면 어떻게 해야 합니까?

PHP의 메일 기능이 이메일을 보내는데 실패하면 어떻게 해야 합니까?

伊谢尔伦
伊谢尔伦원래의
2017-06-27 10:27:411990검색

php에 있는 mail 기능은 이메일을 보내는 기능이 내장되어 있지만 실제로 메일 기능을 사용하여 이메일을 보내고 싶다면 시스템에 sendmail 구성 요소를 설치해야 합니다. 메일이 이메일을 보낼 수 없는 문제가 발생하면 해결 방법을 살펴보겠습니다. 이전 서버를 이전한 후 웹사이트에서 mail()을 사용하여 이메일을 보낼 수 없는 것을 발견했는데, sendmail이 설치되지 않은 경우 sendmail을 실행할 수 있는 코드는 다음과 같습니다.

yum install sendmail

그런데 호스트 이름은 jb51.net과 같은 도메인 이름 형식으로 설정해야 합니다. 그렇지 않으면 시간이 오래 걸립니다. sendmail을 다시 시작할 때 시작하세요. 그렇지 않으면 시간이 오래 걸립니다. 코드는 다음과 같습니다.

hostname .net

그런 다음 sendmail이 정상적으로 실행되고 있는지 확인하세요.

service sendmail status

실행 중이 아니면 시작할 수 있습니다. .상태를 변경하여 시작합니다. 그런 다음 웹 환경에서 php.ini를 편집하고

phpinfo

를 생성합니다. lnmp를 사용하기 때문입니다.

vi /usr/local/php/etc/php.ini
다시 검색:;sendmail_path =, 편집하려면 다음으로 대체:

sendmail_path = /usr/sbin/sendmail -t -i

내 시스템의 기본값은 다음과 같습니다.

sendmail_path = /usr/sbin/sendmail -t -i -f

-f를 제거하면 메일 기능이 비활성화되는 것 같습니다. 메일 기능이 정상으로 돌아갑니다. 그런 다음 일반적으로 service php restart는 service php입니다. -fpm restart. Apache에서는 다음과 같습니다: service httpd restart

PHP 스크립트 테스트 코드를 공유해 드리겠습니다. 코드는 다음과 같습니다.

<?php 
$send = mail(&#39;your
Email
@lisizhang.com&#39;, &#39;邮件标题&#39;, &#39;测试邮件内容,如果收到此邮件,表示mail函数成功启用!&#39;); 
if($send){ 
echo &#39;true&#39;; 
}else{ 
echo &#39;false&#39;; 
} 
?>

반환 결과가 false이면 이메일이 전송되었음을 의미합니다

실패했습니다. true를 반환하면 이메일이 성공적으로 전송되었음을 의미합니다.

위 내용은 PHP의 메일 기능이 이메일을 보내는데 실패하면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.