Deliverability

Apa itu SPF, dan apa fungsi record SPF?

SPF memeriksa apakah suatu IP boleh mengirim atas nama domain envelope-from atau HELO, dan record SPF mempublikasikan aturan otorisasi domain tersebut di DNS.

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.

IstilahEfek
ip4, ip6Cocokkan alamat atau jaringan yang ditulis langsung di record.
aCocokkan alamat yang dikembalikan untuk domain yang disebutkan, menggunakan keluarga IP koneksi.
mxCocokkan alamat mail exchanger untuk domain yang disebutkan.
includeCocok ketika kebijakan yang dirujuk mengembalikan pass untuk IP ini.
existsCocok 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.
ptrPeriksa nama reverse-DNS yang tervalidasi; jangan tambahkan ke record baru karena lookup-nya lambat dan tidak andal.
allCocokkan 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.

AkhiranHasil
-allFail: domain tidak mengotorisasi IP tersebut.
~allSoftfail: domain menganggap IP tersebut kemungkinan tidak terotorisasi.
?allNeutral: domain tidak membuat pernyataan apa pun.
+allPass 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.

RecordYang diotorisasi
v=spf1 mx ip4:192.0.2.10 ip4:198.51.100.0/24 ~allMail 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 -allRecord alamat domain dan dua jaringan; IP lainnya fail.
v=spf1 -allTidak ada IP; setiap percobaan penggunaan domain ini menghasilkan fail SPF.
v=spf1 +allSemua IP, sehingga tidak memberikan pembatasan pengiriman.
v=spf1 redirect=_spf.example.comApa pun yang diotorisasi kebijakan di _spf.example.com.
v=spf1 exists:%{i}._spf.example.com ~allIP 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:

StatusArti dan tindakan
pendingVerifikasi belum berjalan atau sedang berjalan; tunggu hasilnya.
verifiedRecord DNS kapabilitas cocok dengan nilai yang diharapkan.
warningRecord yang sebelumnya terverifikasi tidak lagi cocok; perbaiki sebelum masa tenggang berakhir. Pengiriman belum terpengaruh.
failedNilai DNS salah; perbaiki.
temporary_failureLookup DNS gagal sementara; verifikasi dicoba ulang secara otomatis.
not_configuredKapabilitas 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.

Terapkan dalam praktik.

Lanjutkan dengan dokumentasi, panduan, dan contoh untuk topik ini. Sumber daya tersedia dalam bahasa Inggris.

Dapatkan ringkasan implementasi

Bangun di jaringan yang sama.

Kunci API uji coba langsung tersedia untuk Anda. Akses produksi terbuka saat Anda menambahkan metode pembayaran dan memverifikasi pengirim.

Ide Anda berikutnya.
Siap terhubung.