Sebelum mengubah SPF, identifikasi domain yang digunakan layanan pengiriman Anda untuk alamat envelope-from. Alamat tersebut menerima bounce dan bisa berbeda dari alamat From yang dilihat penerima Anda.
Domain mana yang diperiksa SPF?
SPF memeriksa domain di SMTP MAIL FROM, yaitu alamat envelope-from, atau identitas HELO server. HELO adalah hostname yang ditunjukkan server pengirim saat membuka percakapan SMTP.
Penerima sudah mengetahui IP yang terhubung saat menerima MAIL FROM, sehingga SPF dapat berjalan sebelum badan pesan tiba. Ketika pengirim envelope kosong, seperti pada MAIL FROM:<>, SPF menggunakan identitas HELO. RFC 7208, standar SPF, juga merekomendasikan pemeriksaan HELO secara terpisah.
SPF tidak memeriksa alamat From yang terlihat. Alignment DMARC menghubungkan domain yang terautentikasi dengan alamat tersebut.
Seperti apa bentuk record SPF?
Record SPF adalah record DNS TXT yang nilainya diawali dengan v=spf1, diikuti oleh aturan otorisasi.
example.com TXT "v=spf1 include:mailprovider.example ~all"
Di sini, include:mailprovider.example mengotorisasi IP yang lolos kebijakan SPF penyedia tersebut. ~all menghasilkan softfail untuk IP lainnya. Ganti contoh penyedia dengan kebijakan yang dipublikasikan layanan pengiriman Anda.
Apa arti mekanisme dan modifier?
Mekanisme menguji IP yang terhubung terhadap suatu kondisi. Modifier redirect mendelegasikan evaluasi ketika tidak ada mekanisme yang cocok.
| Istilah | Efek |
|---|---|
ip4, ip6 | Cocokkan alamat atau jaringan yang ditulis langsung di record. |
a | Cocokkan alamat yang dikembalikan untuk domain yang disebutkan, menggunakan keluarga IP koneksi. |
mx | Cocokkan alamat mail exchanger untuk domain yang disebutkan. |
include | Cocok ketika kebijakan yang dirujuk mengembalikan pass untuk IP ini. |
exists | Cocok ketika nama DNS yang ditentukan memiliki record A; makro dapat menyusun nama tersebut dari koneksi. |
redirect= | Evaluasi kebijakan domain lain ketika tidak ada mekanisme yang cocok; mekanisme all membuatnya tidak efektif. |
ptr | Periksa nama reverse-DNS yang tervalidasi; jangan tambahkan ke record baru karena lookup-nya lambat dan tidak andal. |
all | Cocokkan semua IP yang tersisa, dengan qualifier-nya menentukan hasilnya. |
Mekanisme alamat ditulis ip4 dan ip6. Entri ptr dapat muncul di kebijakan lama, tetapi RFC 7208 tidak merekomendasikan penggunaannya meskipun tetap mewajibkan validator untuk mendukungnya.
Apa yang diubah qualifier all?
Qualifier menetapkan hasil SPF untuk IP yang mencapai all; penerima yang memutuskan cara menangani pesan tersebut.
| Akhiran | Hasil |
|---|---|
-all | Fail: domain tidak mengotorisasi IP tersebut. |
~all | Softfail: domain menganggap IP tersebut kemungkinan tidak terotorisasi. |
?all | Neutral: domain tidak membuat pernyataan apa pun. |
+all | Pass untuk semua IP, menghilangkan pembatasan yang seharusnya diberikan SPF. |
Bagaimana contoh record dievaluasi?
Setiap contoh di bawah mengilustrasikan kebijakan terpisah. IP dan domain adalah contoh dokumentasi, bukan nilai yang harus Anda publikasikan untuk pengirim Anda.
| Record | Yang diotorisasi |
|---|---|
v=spf1 mx ip4:192.0.2.10 ip4:198.51.100.0/24 ~all | Mail exchanger domain, satu IP, dan jaringan yang tercantum; IP lainnya softfail. |
v=spf1 a ip4:192.0.2.0/25 ip4:198.51.100.0/26 -all | Record alamat domain dan dua jaringan; IP lainnya fail. |
v=spf1 -all | Tidak ada IP; setiap percobaan penggunaan domain ini menghasilkan fail SPF. |
v=spf1 +all | Semua IP, sehingga tidak memberikan pembatasan pengiriman. |
v=spf1 redirect=_spf.example.com | Apa pun yang diotorisasi kebijakan di _spf.example.com. |
v=spf1 exists:%{i}._spf.example.com ~all | IP yang nama lookup hasil ekspansinya mengembalikan record A; IP lainnya softfail. |
Untuk contoh exists, koneksi dari 192.0.2.10 menghasilkan nama lookup 192.0.2.10._spf.example.com. Anda harus mengelola record DNS yang membuat kebijakan tersebut berfungsi; pola itu tidak mengotorisasi penyedia dengan sendirinya.
Berapa banyak DNS lookup yang dapat digunakan SPF?
SPF mengizinkan sepuluh istilah DNS-querying yang dievaluasi di seluruh kebijakan dan evaluasi bertingkat. Istilah kesebelas menghasilkan permerror, sehingga menambahkan penyedia lain dapat merusak evaluasi alih-alih mengotorisasinya.
Istilah yang dihitung adalah include, a, mx, ptr, exists, dan redirect. Istilah literal ip4, ip6, dan all tidak menggunakan jatah tersebut. Yang dihitung adalah istilah, bukan setiap paket DNS. Return-path CNAME menyediakan otorisasi SPF dari Bird tanpa menambahkan include di apex.
Mengapa email yang diteruskan bisa gagal SPF?
Forwarder atau mailing list dapat mengirim ulang email sah dari IP yang tidak diotorisasi oleh domain envelope-from asli. Misalnya, kotak surat alumni yang meneruskan ke kotak surat pribadi mengubah server penghubung yang dilihat oleh penerima akhir.
Jika alamat envelope-from tidak berubah, SPF mengevaluasi server baru tersebut berdasarkan kebijakan domain asli. Forwarder dapat menulis ulang alamat envelope-from menggunakan Sender Rewriting Scheme (SRS) untuk mengautentikasi domainnya sendiri. Hal itu saja tidak menyelaraskan SPF dengan alamat From asli yang terlihat.
Tanda tangan DKIM yang utuh dan selaras masih dapat memberikan pass DMARC. Autentikasi tidak membuktikan bahwa pesan diinginkan atau menjamin penempatan di inbox.
Apa yang harus Anda publikasikan untuk Bird?
Anda mempublikasikan return-path CNAME yang disediakan untuk domain pengiriman Anda. CNAME tersebut mengarah ke infrastruktur bounce Bird, yang sudah menyediakan otorisasi SPF. Anda tidak perlu menambahkan include SPF di apex domain untuk mengirim melalui Bird.
Pertahankan record SPF apex yang ada untuk pengirim lain tanpa perubahan. Salin dns_records domain. Verifikasi capabilities.return_path.status; periksa capabilities.sending.status untuk kesiapan di semua persyaratan pengiriman. Kedua kolom status menggunakan nilai berikut:
| Status | Arti dan tindakan |
|---|---|
pending | Verifikasi belum berjalan atau sedang berjalan; tunggu hasilnya. |
verified | Record DNS kapabilitas cocok dengan nilai yang diharapkan. |
warning | Record yang sebelumnya terverifikasi tidak lagi cocok; perbaiki sebelum masa tenggang berakhir. Pengiriman belum terpengaruh. |
failed | Nilai DNS salah; perbaiki. |
temporary_failure | Lookup DNS gagal sementara; verifikasi dicoba ulang secara otomatis. |
not_configured | Kapabilitas belum dikonfigurasi untuk domain ini. |
Anda memverifikasi DKIM, return-path, dan DMARC sebelum mengirim. Anda dapat mengubah hostname return-path. Jika nilai DNS TXT memerlukan beberapa string berkutip, DNS record splitter memformat string tersebut tanpa mengubah jatah lookup SPF.