Để cho phép DMARC kiểm tra SPF để vượt qua và cũng được căn chỉnh khi sử dụng sendmail, hãy đảm bảo bạn đang đặt địa chỉ người gửi phong bì ( -f
hoặc -r
tham số) thành một cái gì đó khớp với tên miền trongFrom:
địa chỉ tiêu đề.
Với PHP:
Sử dụng mail()
chức năng tích hợp sẵn của PHP mà không cài đặt tham số thứ 5 sẽ khiến các kiểm tra DMARC SPF không được chỉ định nếu không được thực hiện đúng. Theo mặc định, sendmail sẽ gửi email với người dùng của máy chủ web dưới dạng tiêu đề RFC5321 .MailFrom / Return Path.
Ví dụ: giả sử bạn đang lưu trữ trang web của mình domain.com
trên host.com
máy chủ web. Nếu bạn không đặt tham số bổ sung:
mail($to,$subject,$message,$headers); // Wrong way
Người nhận email sẽ nhận được một email với các tiêu đề thư sau:
Return-Path: <your-website-user@server.host.com>
From: <your-website-user@domain.com>
Mặc dù điều này vượt qua kiểm tra SPF, nhưng nó sẽ không được chỉ định (vì domain.com và host.com không khớp), điều đó có nghĩa là kiểm tra DMARC SPF sẽ thất bại khi không được phân bổ.
Thay vào đó, bạn phải chuyển địa chỉ người gửi phong bì cho sendmail bằng cách đưa tham số thứ 5 vào mail()
hàm PHP , ví dụ:
mail($to,$subject,$message,$headers, '-r bounce_email@domain.com'); // Right way
Trong trường hợp này, người nhận email sẽ nhận được email có tiêu đề thư sau:
Return-Path: <bounce_email@domain.com>
From: <your-website-user@domain.com>
Vì cả hai tiêu đề này đều chứa địa chỉ từ domain.com
, SPF sẽ vượt qua và cũng được căn chỉnh, điều đó có nghĩa là DMARC cũng sẽ vượt qua kiểm tra SPF.