Bản ghi MX là gì và vì sao thư không tới được tên miền của bạn

Bản ghi MX là gì và vì sao thư không tới được tên miền của bạn

Bản ghi MX là gì và vì sao thư không tới được tên miền của bạn

Bạn gửi thư cho một địa chỉ ở tên miền của khách hàng, vài giây sau hệ thống trả lại một thông báo lỗi khô khốc. Địa chỉ không sai chữ nào, hộp thư của bạn vẫn chạy bình thường. Rất nhiều trường hợp như vậy không nằm ở nội dung thư mà nằm ở một dòng cấu hình DNS bên phía người nhận: bản ghi MX.

Trước khi lục tung cấu hình máy chủ hay đổ lỗi cho bộ lọc spam, việc rẻ nhất là kiểm tra xem tên miền đó có công bố máy chủ nhận thư hay không. Mất vài giây và nó trả lời ngay câu quan trọng nhất: lỗi ở phía người nhận hay phía bạn.

Bản ghi MX là gì

MX là viết tắt của Mail Exchanger, một loại bản ghi trong DNS. Nếu coi DNS là danh bạ của Internet thì bản ghi A trả lời "website của tên miền này nằm ở máy nào", còn MX trả lời một câu khác hẳn: "thư gửi cho các địa chỉ đuôi @tenmien.vn thì giao cho máy nào".

Khi máy chủ của bạn cần gửi thư tới ketoan@congty.vn, nó cắt lấy phần sau dấu @, hỏi DNS bản ghi MX của congty.vn, nhận về một tên máy chủ chẳng hạn mail.congty.vn, rồi mới mở kết nối SMTP tới đúng máy đó. Không có câu trả lời ở bước này, thư dừng lại ngay từ đầu.

  • MX luôn trỏ tới một tên máy chủ, không bao giờ trỏ thẳng vào địa chỉ IP.
  • MX chỉ lo chiều nhận. Việc bạn gửi thư ra ngoài không phụ thuộc vào MX của chính mình.

Giá trị ưu tiên và MX dự phòng

Mỗi bản ghi MX đi kèm một con số gọi là giá trị ưu tiên, và nguyên tắc hay bị nhớ ngược: số càng nhỏ càng được thử trước. Tên miền khai MX số 10 và MX số 20 thì máy gửi luôn gõ cửa máy số 10 trước, chỉ khi máy đó im lặng mới chuyển sang số 20. Hai bản ghi cùng số thì máy gửi chọn ngẫu nhiên, đó là cách chia tải cho nhiều máy nhận.

MX dự phòng là bản ghi số lớn hơn, trỏ tới một máy chỉ nhận tạm và giữ thư khi máy chính mất kết nối, rồi chuyển lại sau. Ý tưởng hay nhưng thực tế thường phản tác dụng: máy dự phòng hay lọc lỏng hơn máy chính nên thành cửa sau ưa thích của người gửi thư rác.

Cách tra cứu bản ghi MX

DNS là thông tin công khai, nên bạn không cần quyền quản trị tên miền để xem MX của nó.

  1. Trên macOS hoặc Linux: dig MX tenmien.vn +short. Mỗi dòng kết quả gồm số ưu tiên rồi tới tên máy chủ.
  2. Trên Windows: nslookup -type=mx tenmien.vn.
  3. Muốn hỏi thẳng một máy chủ DNS công cộng để loại trừ bộ nhớ đệm nội bộ: dig @8.8.8.8 MX tenmien.vn.

Đang cầm điện thoại thì một công cụ web nhanh hơn: dán địa chỉ vào ô và xem tên miền đang giao thư cho máy chủ nào. Lưu ý DNS có bộ nhớ đệm, nên nếu MX vừa được sửa vài phút trước, bạn vẫn thấy bản cũ cho tới khi hết TTL.

"Tên miền không có bản ghi MX" nghĩa là gì

Đây là dòng thông báo hay gặp nhất khi một địa chỉ trượt kiểm tra hoặc thư bị trả về. Nó không nói địa chỉ viết sai, mà nói một chuyện lớn hơn: DNS của tên miền hoàn toàn không công bố nơi nào nhận thư.

  • Tên miền chỉ dùng để chạy website hoặc giữ chỗ, chưa bao giờ dựng hộp thư.
  • Ai đó đổi nhà cung cấp thư và quên khai lại MX, hoặc xóa nhầm khi dọn DNS.
  • Phần tên miền bị gõ sai, kiểu gmial.com thay vì gmail.com.

Với người đang dọn danh sách liên hệ, tín hiệu này đáng giá hơn hẳn lỗi ở một địa chỉ đơn lẻ: hỏng ở mức tên miền nghĩa là mọi địa chỉ đuôi đó đều vô dụng, gửi vào chỉ nhận về bounce vĩnh viễn. Loại cả cụm.

Vì sao MX là phép kiểm tra thật đầu tiên

Mọi công cụ xác thực email đều chạy theo cùng thứ tự, vì lý do rất thực dụng. Kiểm tra cú pháp chỉ cho biết chuỗi ký tự viết đúng dạng, một địa chỉ bịa hoàn toàn vẫn qua được. Tra cứu MX mới là bước đầu tiên chạm vào thế giới bên ngoài: nhanh, không tốn gì và không gửi đi thư nào. Trượt bước này thì mọi bước sau đều vô nghĩa.

Có một ngoại lệ đáng biết. Chuẩn SMTP cho phép máy gửi quay sang bản ghi A hoặc AAAA khi không tìm thấy MX nào, gọi là MX ngầm định. Nghĩa là "không có MX" đôi khi vẫn nhận được thư, nếu máy chủ web tình cờ chạy cả dịch vụ nhận thư, tuy trường hợp này hiếm. Muốn biết chắc, hãy thử chiều ngược lại: mở một hộp thư tạm rồi nhờ phía bên kia gửi cho bạn một thư.

Những lỗi cấu hình MX thường gặp

  • MX trỏ vào một CNAME. Chuẩn không cho phép. Nhiều máy chủ vẫn nhắm mắt xử lý nhưng một số từ chối thẳng, và bạn mất thư một cách rời rạc, rất khó lần ra.
  • Đổi nhà cung cấp thư mà quên đổi MX. Thư vẫn ngoan ngoãn chảy về hệ thống cũ, nơi hộp thư đã bị hủy.
  • Giữ MX cũ bên cạnh MX mới. Một phần thư rơi vào hệ thống cũ đúng theo giá trị ưu tiên bạn khai. Hiện tượng "thỉnh thoảng mất thư" phần lớn sinh ra từ đây.

Cuối cùng, đừng nhầm vai trò các bản ghi. MX lo chiều nhận, còn SPF, DKIM và DMARC lo chiều gửi, chứng minh thư đúng là do bạn phát ra. Một tên miền có MX hoàn hảo mà thiếu SPF thì vẫn nhận thư tốt nhưng thư gửi đi rơi vào hộp thư rác đều đặn. Bài SPF, DKIM và DMARC phối hợp với nhau ra sao giải thích phần này bằng ngôn ngữ dễ hiểu.

Câu hỏi thường gặp

Một tên miền cần bao nhiêu bản ghi MX?

Một bản ghi là đủ. Các nhà cung cấp lớn thường yêu cầu khai vài bản ghi trỏ tới hệ thống của họ, và bạn nên khai đúng như hướng dẫn, không thêm không bớt.

Bản ghi MX có ảnh hưởng tới website không?

Không. Website chạy theo bản ghi A, AAAA hoặc CNAME, nên bạn có thể đổi toàn bộ MX mà trang web không hề nhấp nháy.

Đổi bản ghi MX bao lâu thì có hiệu lực?

Phụ thuộc vào TTL của bản ghi cũ. Các máy chủ DNS còn giữ bản cũ trong bộ nhớ đệm cho tới khi hết khoảng đó, nên giai đoạn chuyển tiếp thư có thể tới cả hai hệ thống. Hãy giữ hộp thư cũ chạy song song thêm ít lâu.

Không có bản ghi MX thì chắc chắn thư bị trả về?

Gần như chắc chắn nhưng không tuyệt đối, vì cơ chế MX ngầm định qua bản ghi A vẫn tồn tại. Trên thực tế, khi công cụ báo tên miền không có MX, hãy coi địa chỉ đó là không dùng được.

Lần tới gặp một thư bị trả về không rõ lý do, hãy bắt đầu từ chỗ rẻ nhất: tra bản ghi MX và tình trạng của địa chỉ đó trong vài giây trước khi đào vào nhật ký máy chủ.

thẻ:
#bản ghi MX # DNS # gửi email # máy chủ email # kiểm tra email # SMTP # tên miền