Pertanyaan secara keseluruhan menyentuh beberapa aspek berbeda yang semuanya perlu dipertimbangkan untuk menjawab mengapa RFC7505 menambahkan sesuatu yang bermanfaat.
Pertama-tama, definisi pra-RFC7505 tentang bagaimana pengiriman surat harus dilakukan tidak memiliki cara untuk menunjukkan dengan jelas bahwa tidak ada upaya pengiriman surat harus dilakukan untuk nama yang memiliki catatan alamat.
Dari RFC7505 bagian 1 :
Klien SMTP memiliki urutan yang ditentukan untuk mengidentifikasi server yang menerima email untuk domain. Bagian 5 dari [RFC5321] membahas hal ini secara rinci; pada dasarnya, klien SMTP pertama kali mencari DNS MX RR, dan, jika itu tidak ditemukan, ia kembali ke mencari DNS A atau AAAA RR. Karenanya, ini membebani catatan DNS (yang memiliki misi utama yang berbeda) dengan semantik layanan email.
Jika suatu domain tidak memiliki catatan MX, pengirim akan berusaha mengirimkan email ke host di alamat di catatan A atau AAAA domain. Jika tidak ada pendengar SMTP di alamat A / AAAA, pengiriman pesan akan dicoba berulang kali untuk jangka waktu yang lama, biasanya seminggu, sebelum Agen Pengiriman Surat pengiriman (MTA) menyerah. Ini akan menunda pemberitahuan kepada pengirim jika ada surat yang salah alamat dan akan menghabiskan sumber daya di pengirim.
Dokumen ini mendefinisikan MX null yang akan menyebabkan semua upaya pengiriman email ke domain gagal segera, tanpa memerlukan domain untuk membuat pendengar SMTP yang didedikasikan untuk mencegah upaya pengiriman.
Lalu ada masalah bagaimana RFC7505 mengimplementasikan ini ( IN MX 0 .
).
Dari RFC7505 bagian 3 :
Catatan Sumber Daya MX Menentukan Null MX
Untuk menunjukkan bahwa suatu domain tidak menerima email, ia mengiklankan satu MX MX (lihat Bagian 3.3.9 dari [RFC1035]) dengan bagian RDATA yang terdiri dari nomor preferensi 0 dan label panjang nol, ditulis dalam file master sebagai ". ", sebagai domain pertukaran, untuk menyatakan bahwa tidak ada penukar email untuk suatu domain. Sejak "." bukan nama host yang valid, catatan MX nol tidak dapat dikacaukan dengan catatan MX biasa.
Penggunaan "." sebagai pseudo-hostname yang berarti tidak ada layanan yang tersedia dimodelkan pada SRV RR [ RFC2782 ] di mana ia memiliki makna yang serupa.
Domain yang mengiklankan MX null TIDAK HARUS mengiklankan MX RR lainnya.
(penekanan ditambahkan)
Seperti yang disebutkan di sini, detail implementasi untuk "null MX" didasarkan pada pola yang sudah ditetapkan dari SRV
tipe RR. Masuk akal untuk meniru ini karena SRV
tipe RR kurang lebih adalah versi umum dari MX
tipe RR.
Jadi, keputusan itu pada dasarnya sudah diambil ketika mendefinisikan SRV
tipe RR .
Jadi, mengapa tidak memanfaatkannya .invalid
?
Dari RFC2606 section2 :
".invalid" dimaksudkan untuk digunakan dalam konstruksi daring nama domain yang pasti tidak valid dan sekilas jelas tidak valid.
Seperti dapat dilihat di sini, TLD yang dicadangkan ini adalah untuk konsumsi manusia. Tidak ada preseden mendefinisikan penanganan khusus ini dalam perangkat lunak.
Tentunya itu bisa diimplementasikan dengan cara yang berbeda tetapi mereka memilih untuk pergi dengan pendekatan minimal menggunakan .
, yang bukan nama host yang valid dan dengan demikian tidak mengganggu penggunaan normal.