PHP mail()
기능을 사용하여 이메일을 보내려고했지만 실제 도메인 이름이 필요하다는 불만이 있습니다. 메일 로그에서 다음이 관찰됩니다.
sendmail 4984 r25984 : from = apache, size = 273, class = 0, nrcpts = 1, msgid = <201.r25@localhost.localdomain>, relay = apache @ localhost
sendmail 4985 r25985 : ruleset = check_mail, arg1 =, 릴레이 = mydomain.com [127.0.0.1], reject = 553 5.5.4 ... 발신자 주소
sendmail에 필요한 실제 도메인 이름 4984 r25984 : to=external@server.com, ctladdr = apache (48/48), delay = 00 : 00:01, xdelay = 00 : 00 : 00, 메일러 = 릴레이, pri = 30273, 릴레이 = [127.0.0.1] [127.0.0.1], dsn = 5.6.0, stat = 데이터 형식 오류
sendmail 4984 r25984 : r25984 : DSN : 데이터 형식 오류
cron은 logrotate에 문제가있을 때마다 external@server.com으로 이메일을 보낼 수 있습니다. PHP가 왜 그렇게 할 수 없는지 잘 모르겠습니다. `sendmail.mc에서 기본 설정을 다음과 같이 변경하려고 시도했습니다.
MASQUERADE_AS(`mydomain.com')dnl
FEATURE(masquerade_envelope)dnl
FEATURE(masquerade_entire_domain)dnl
MASQUERADE_DOMAIN(localhost)dnl
MASQUERADE_DOMAIN(localhost.localdomain)dnl
MASQUERADE_DOMAIN(mycom)dnl
그러나 아무런 영향을 미치지 않는 것 같습니다. PHP 메일 기능의 주소에서 헤더가 이미 설정되었습니다. 또한 SELinux httpd_can_sendmail
가 활성화되어 있는지 확인했습니다. 우편물을 배달하려면 어떻게해야합니까?
dnl
했습니다.
mail()
? 그리고 sendmail.mc
올바른 구성 파일이 아닙니다.이 파일은를 sendmail.cf
사용하여 컴파일해야 합니다 m4
.
sendmail.mc
, 라인 변경localhost.localdomain
과localhost
의미있는과에 엠씨 파일을 컴파일sendmail.cf
?