1. PHP의 메일() 기능은 이메일을 보낼 수 있지만 성공적으로 테스트된 적이 없습니다. 이제 이유를 요약해 보겠습니다.
php의 메일 기능은 sendmail 명령을 기반으로 합니다. postfix 소프트웨어
2를 설치해야 합니다. 메일 기능인 php -i|grep sendmail
#🎜에 의해 호출되는 기본 명령인 PHP 구성 항목 sendmail_path를 확인하세요. 🎜## 🎜🎜#3 postfix 소프트웨어를 설치한 후에만 sendmail 명령을 사용할 수 있습니다. apt-get install postfix
소프트웨어 설치가 완료된 후 전송이 가능한지 테스트합니다. 명령줄 성공
eml 텍스트 파일 만들기, 콘텐츠는 가장 중요한 이메일 프로토콜 헤더입니다
Subject: title-testing From: shihan2@sopans.com To: 630892807@qq.com Sorry, I'm testing. ~_~
/usr/sbin/sendmail -t -i -f shihan2@sopans.com < 2.eml
-f 매개변수 뒤에 오는 내용은 from 값에 해당합니다. 일치하지 않으면 오류가 보고됩니다. /var/log/mail.log 로그 파일을 확인할 수 있습니다. 오류의 원인과 성공 여부를 확인하려면
#🎜 🎜#
은 성공적인 정보 후 전송됩니다. 250ok 4. 파일을 만들고 php 함수를 사용하여 메시지를 보냅니다
이를 수정했습니다. /etc/php/7.0/cli/php.ini 구성 파일에서 from 매개변수는 테스트 중에 하드 코딩됩니다. 보낸 사람 사서함이 기록되지 않으면 전송이 항상 실패하고 501 구문: MAIL FROM: 208700f394e4cf40a7aa505373e0130b (MAIL FROM 명령에 대한 응답)) , 보낸 사람이 보낸 편지와 일치하지 않습니다. #
구성 확인# 🎜🎜#
php 파일 만들기#🎜 🎜#
<?php $to='630892807@qq.com'; $subject = '测试一下'; $message = '我来测试'; $headers[] = 'From: shihan2@sopans.com'; mail($to, $subject, $message, implode("\r\n", $headers));테스트 성공
관련 튜토리얼:
php 프로그래밍 입문부터 마스터까지 전체 비디오 튜토리얼 세트
위 내용은 [PHP] 이메일을 보낼 때 mail() 함수가 실패합니다(sendmail 명령 및 postfix).의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!