허용하려면 DMARC의 SPF에 대한 검사가 될 수도 통과하고 정렬 센드 메일을 사용하는 경우, 당신이 봉투의 보낸 사람 주소 (설정되어 있는지 확인 -f
또는 -r
의 도메인과 일치 뭔가 매개 변수) From:
헤더 주소를.
PHP로 :
mail()
5 번째 매개 변수를 설정하지 않고 PHP의 내장 함수를 사용하면 올바르게 수행되지 않으면 DMARC SPF 검사가 정렬되지 않습니다. 기본적으로 sendmail은 웹 서버 사용자와 함께 RFC5321 .MailFrom / Return Path 헤더 로 이메일을 보냅니다 .
예를 들어 웹 서버 domain.com
에서 host.com
웹 사이트 를 호스팅한다고 가정 해보십시오 . 추가 매개 변수 매개 변수를 설정하지 않은 경우 :
mail($to,$subject,$message,$headers); // Wrong way
이메일 수신자는 다음과 같은 메일 헤더가 포함 된 이메일을받습니다.
Return-Path: <your-website-user@server.host.com>
From: <your-website-user@domain.com>
이것이 SPF 검사를 통과하더라도 정렬되지 않습니다 (domain.com과 host.com이 일치하지 않기 때문에). DMARC SPF 검사가 정렬되지 않은 것으로 실패합니다.
대신 PHP 함수 에 5 번째 매개 변수를 포함시켜 봉투 발신자 주소를 sendmail에 전달 해야합니다mail()
. 예를 들면 다음과 같습니다.
mail($to,$subject,$message,$headers, '-r bounce_email@domain.com'); // Right way
이 경우 전자 메일 수신자는 다음과 같은 메일 헤더가 포함 된 전자 메일을받습니다.
Return-Path: <bounce_email@domain.com>
From: <your-website-user@domain.com>
이 두 헤더 모두의 주소를 포함하므로 domain.com
SPF가 전달되고 정렬되므로 DMARC도 SPF 검사를 전달합니다.