DMARC'nin SPF'nin geçmesine ve sendmail kullanırken hizalanmasına izin vermek için , zarf gönderen adresini ( -f
veya -r
parametresini), alandaki alanla eşleşen bir şeye ayarladığınızdan emin olun .From:
başlık adresindeki .
PHP ile:
PHP'nin yerleşik mail()
işlevini 5. parametreyi ayarlamadan kullanmak, DMARC SPF denetimlerinin doğru yapılmadığı takdirde hizalanmamasına neden olur. Sendmail varsayılan olarak web sunucusunun kullanıcısıyla birlikte e-postayı RFC5321 .MailFrom / Dönüş Yolu başlığı olarak gönderir .
Örneğin, web sitesi barındırma söylüyorlar domain.com
üzerinde host.com
web sunucusu. Ek parametreler parametresini ayarlamazsanız:
mail($to,$subject,$message,$headers); // Wrong way
E-posta alıcısına aşağıdaki posta başlıklarını içeren bir e-posta gönderilir:
Return-Path: <your-website-user@server.host.com>
From: <your-website-user@domain.com>
Bu SPF kontrollerini geçmesine rağmen, hizalanmamış olacaktır (domain.com ve host.com eşleşmediğinden), bu da DMARC SPF kontrolünün hizalanmamış olarak başarısız olacağı anlamına gelir.
Bunun yerine, gereken PHP 5. parametresini ekleyerek sendmail zarf gönderen adresini geçmesi mail()
örneğin fonksiyonu:
mail($to,$subject,$message,$headers, '-r bounce_email@domain.com'); // Right way
Bu durumda, e-posta alıcısına aşağıdaki posta başlıklarını içeren bir e-posta gönderilir:
Return-Path: <bounce_email@domain.com>
From: <your-website-user@domain.com>
Bu başlıkların her ikisi de adresleri içerdiğinden domain.com
, SPF geçecek ve hizalanacaktır, bu da DMARC'nin SPF kontrolünü de geçeceği anlamına gelir.