SPF record là gì? Hướng dẫn tạo TXT SPF record cho tên miền

Tóm tắt nhanh

 

  • Khái niệm: SPF (Sender Policy Framework) xác thực nguồn gửi email bằng một bản ghi TXT trong DNS, liệt kê các IP/host được ủy quyền.

 

  • Lợi ích: Chặn giả mạo, giảm spam, tăng độ tin cậy tên miền, khắc phục lỗi bị từ chối/thư rơi vào spam, cải thiện giao tiếp email.

 

  • Định dạng & tuỳ chọn: Bản ghi bắt đầu bằng v=spf1 và theo sau là các cơ chế như a, mx, ip4, ip6, include, kết thúc bằng all.

 

  • Cách tạo: Thu thập IP/host gửi thư → xác định domain gửi → soạn bản ghi đúng cú pháp → publish vào DNS → kiểm tra hợp lệ.

 

  • Lỗi thường gặp: Quá 10 DNS lookups, chuỗi TXT vượt 255 ký tự, tạo nhiều bản ghi SPF cho một domain, sai cú pháp.

 

SPF là gì?

 

TXT, SPF, Record

 

SPF (Sender Policy Framework) là cơ chế xác thực email giúp chủ sở hữu domain xác định rõ máy chủ nào được phép gửi thư thay mặt domain. Máy chủ nhận sẽ tra cứu bản ghi TXT SPF của domain người gửi; nếu IP/host gửi không khớp danh sách ủy quyền, thư có thể bị từ chối hoặc gắn nhãn spam.

 

TXT SPF record là gì?

 

TXT, SPF, Record

 

Đây là bản ghi DNS dạng TXT liệt kê toàn bộ hostname/địa chỉ IP (hoặc domain của nhà cung cấp gửi hộ) được phép gửi email cho domain của bạn. Bạn quản lý bản ghi này trong trang DNS của nhà đăng ký/nhà cung cấp DNS.

 

 

Lợi ích khi triển khai TXT SPF

 

  • Giảm spam & giả mạo: Xác minh nguồn gửi; thư từ máy chủ không ủy quyền bị chặn/đưa vào spam.

 

  • Tăng cường bảo mật: Hạn chế lừa đảo, giảm nguy cơ rò rỉ thông tin qua email giả.

 

  • Nâng uy tín domain: Tăng khả năng vào Inbox, thể hiện tính chuyên nghiệp.

 

  • Khắc phục lỗi gửi: Hạn chế bị các nhà cung cấp email từ chối hoặc đánh dấu spam.

 

  • Giao tiếp ổn định: Dòng thư giữa các miền trơn tru và đáng tin cậy hơn.

 

 

Cấu trúc TXT SPF record

 

  • Phiên bản: Luôn bắt đầu bằng v=spf1.

 

  • Các quy tắc (cơ chế/qualifier): Theo sau v=spf1 là danh sách cơ chế, cách nhau bằng khoảng trắng.

 

  • Kết thúc bằng all: Xác định chính sách cho mọi nguồn không khớp.

 

Ví dụ:


 
v=spf1 a mx ip4:192.0.2.0/24 ~all
 

Ý nghĩa: cho phép gửi từ IP của bản ghi AMX của domain, cộng thêm dải 192.0.2.0/24; các nguồn khác softfail (~all).

 

Các cơ chế thường gặp

 

Tùy chọn Mô tả ngắn
a Cho phép IP xuất hiện trong bản ghi A/AAAA của domain.
mx Cho phép IP của các máy chủ trong bản ghi MX.
ip4 Cho phép một IP IPv4 hoặc dải (CIDR).
ip6 Cho phép một IP IPv6 hoặc dải (CIDR).
include Kế thừa SPF của domain khác (nhà cung cấp gửi hộ).
all Áp dụng cho mọi nguồn còn lại, đi kèm qualifier: - (hardfail), ~ (softfail), + (pass, không khuyến nghị), ? (neutral).

 

Quy trình tạo TXT SPF record

 

Bước 1: Liệt kê tất cả nguồn gửi

 

Tập hợp đầy đủ các nguồn có thể gửi thư cho domain:

 

  • Mail server nội bộ (ví dụ Exchange).

 

  • Dịch vụ email cloud/ESP (Google Workspace, Microsoft 365, …).

 

  • Ứng dụng/website gửi transactional mail (SMTP, API).

 

  • Bên thứ ba được ủy quyền (CRM, marketing tool, helpdesk…).

 

  • IP người dùng/thiết bị nếu có gửi trực tiếp (thường hạn chế).

 

Bước 2: Xác định domain gửi

 

Thiết lập SPF cho mọi domain/sousdomain có hoặc không gửi thư (domain không gửi nên áp dụng chính sách khóa chặt để chống giả mạo).

 

Bước 3: Soạn bản ghi SPF

 

  1. Bắt đầu với phiên bản: v=spf1.

  2. Thêm các nguồn gửi được ủy quyền: ip4:, ip6:, a, mx, include:

  3. Kết thúc bằng -all (khuyến nghị khi đã liệt kê đầy đủ) hoặc ~all (giai đoạn chuyển đổi/giám sát).

 

Ví dụ (đúng cú pháp, không chèn khoảng trắng thừa):

 

v=spf1 ip4:34.243.61.237 ip6:2a05:d018:e3:8c00:bb71:dea8:8b83:851e include:thirdpartydomain.com -all
 

Domain không gửi email: dùng bản ghi “khóa chặt”:


 
v=spf1 -all
 

Lưu ý

 

giới hạn: mỗi chuỗi TXT tối đa 255 ký tự; SPF cho phép tối đa 10 DNS lookups (từ các cơ chế như include, a, mx, ptr, exists). Vượt giới hạn sẽ gây PermError.

 

Bước 4: Publish vào DNS

 

Đăng nhập tài khoản quản lý DNS/domain.

 

Mở mục quản lý bản ghi (DNS Management).

 

Chọn domain cần cấu hình.

 

Thêm TXT record mới:

 

             Host/Name: @ (hoặc để trống, tùy nhà cung cấp) cho root domain, hoặc subdomain nếu cấu hình cho subdomain.

 

              Value: dán bản ghi SPF, ví dụ


 
       v=spf1 a mx include:example.com ~all
 

              TTL: 3600 (1 giờ) hoặc theo mặc định.

 

Lưu bản ghi. (Có thể mất đến 48 giờ để DNS truyền bá.)

 

Bước 5: Kiểm tra

 

Xác nhận:

 

  • Bản ghi SPF tồn tại và được truy vấn thấy.

 

  • ≤ 10 lookups.

 

  • IP/host thực sự dùng để gửi đã được liệt kê.

 

Lỗi thường gặp & cách tránh

 

  • Quá 255 ký tự/chuỗi TXT: Tách thành nhiều chuỗi trong cùng một TXT record (DNS sẽ nối chuỗi).

 

  • Vượt quá 10 DNS lookups: Rà soát include, a, mx…; lược bớt/“flatten” SPF nếu cần.

 

  • Nhiều bản ghi SPF cho cùng domain: Chỉ để một TXT SPF; gộp nội dung về một record duy nhất.

 

  • Sai cú pháp: Khoảng trắng dư, viết hoa/lỗi chính tả, dấu :/-/~/? đặt sai… → dùng trình kiểm tra SPF để bắt lỗi.

 

 HỖ TRỢ TRỰC TUYẾN