NhimLongXanh.comNhím Lông Xanh
Tên miền và website

Email gửi đi bị vào spam: cấu hình SPF, DKIM, DMARC cho tên miền

Email công ty gửi đi toàn vào spam? Giải thích SPF, DKIM, DMARC dễ hiểu kèm ví dụ bản ghi TXT, các nguyên nhân khác và cách tự kiểm tra thư đã xác thực đúng.

Low angle view of a Vietnamese office worker standing by a sunny window, checking a tablet with a blank glowing screen, potted monstera nearby, crisp daylight, green and sand tones

Email gửi đi bị vào spam phần lớn vì tên miền chưa có đủ ba bản ghi xác thực SPF, DKIM và DMARC, hoặc có nhưng cấu hình sai. Ba bản ghi này là bản ghi TXT trong DNS, giúp hộp thư bên nhận như Gmail, Outlook kiểm tra thư mang địa chỉ congty.vn có thật do máy chủ được phép của congty.vn gửi hay không. Thiếu chúng, thư của bạn trông không khác thư giả mạo.

Từ đầu năm 2024, Gmail và Yahoo bắt buộc mọi người gửi phải có SPF hoặc DKIM, còn ai gửi khối lượng lớn (từ khoảng 5.000 thư mỗi ngày tới Gmail) phải có đủ cả ba cùng nút huỷ đăng ký một chạm. Các hộp thư khác cũng siết theo hướng tương tự.

Bài dưới giải thích từng bản ghi bằng lời thường, có giá trị mẫu để đối chiếu, sau đó là các nguyên nhân ngoài DNS như nội dung, cách gửi, uy tín IP, và cách tự kiểm tra thư của bạn đã qua xác thực chưa.

SPF: danh sách máy chủ được phép gửi thư

SPF (Sender Policy Framework) giống tờ danh sách khách mời dán ở cửa: nó liệt kê những máy chủ nào được quyền gửi thư nhân danh tên miền của bạn. Khi Gmail nhận thư từ một máy chủ xưng là congty.vn, nó tra bản ghi SPF của congty.vn; máy chủ có trong danh sách là đạt, không có là trượt.

Một bản ghi SPF mẫu cho công ty dùng email của Google: kiểu TXT, tên @, giá trị v=spf1 include:_spf.google.com ~all. Nếu website trên hosting cũng gửi thư (thông báo đơn hàng, quên mật khẩu), thêm IP hosting: v=spf1 ip4:203.0.113.10 include:_spf.google.com ~all (203.0.113.10 là IP ví dụ). Phần cuối ~all nghĩa là máy chủ ngoài danh sách bị đánh dấu nghi ngờ; -all nghĩa là từ chối thẳng, chỉ dùng khi bạn chắc đã liệt kê đủ.

Ba lỗi SPF hay gặp. Thứ nhất, tạo hai bản ghi SPF khi thêm dịch vụ mới; một tên miền chỉ được có một bản ghi bắt đầu bằng v=spf1, có hai là cả hai cùng hỏng, phải gộp lại thành một dòng. Thứ hai, quá 10 lần tra DNS: mỗi include tính là một hoặc nhiều lần tra, gộp nhiều dịch vụ gửi thư dễ vượt giới hạn này và SPF báo lỗi. Thứ ba, quên các nơi gửi thư ngầm như phần mềm kế toán, phần mềm bán hàng, máy in quét gửi email.

DKIM: chữ ký số trên từng lá thư

DKIM (DomainKeys Identified Mail) giống con dấu giáp lai. Máy chủ gửi dùng một khoá bí mật ký lên phần đầu và nội dung mỗi lá thư; khoá công khai tương ứng được đăng trong DNS. Bên nhận lấy khoá công khai để kiểm chữ ký: khớp nghĩa là thư đúng do hệ thống của bạn gửi và không bị sửa trên đường đi.

Bản ghi DKIM do nhà cung cấp email tạo ra, bạn không tự viết. Trong trang quản trị email sẽ có mục xác thực email hoặc DKIM, bấm tạo khoá rồi chép sang DNS. Bản ghi có dạng: kiểu TXT, tên google._domainkey (phần trước ._domainkey gọi là selector, mỗi dịch vụ đặt một tên khác), giá trị bắt đầu bằng v=DKIM1; k=rsa; p= rồi tới một chuỗi ký tự rất dài là khoá công khai. Một số dịch vụ dùng bản ghi CNAME thay vì TXT để họ tự xoay khoá.

Lỗi DKIM hay gặp: chép thiếu ký tự cuối của chuỗi khoá, giao diện DNS tự chèn dấu ngoặc kép hoặc dấu cách khi chuỗi dài quá 255 ký tự, hoặc quên quay lại trang quản trị bấm Bắt đầu xác thực sau khi đã thêm DNS. Khác với SPF, một tên miền có thể có nhiều bản ghi DKIM cùng lúc, mỗi dịch vụ gửi thư một selector riêng, không đè lên nhau.

DMARC: quy tắc xử lý thư giả mạo và báo cáo

DMARC là lớp trên cùng. Nó dặn hộp thư bên nhận: nếu một lá thư mang tên miền congty.vn mà không qua được SPF hoặc DKIM gắn đúng với tên miền hiển thị ở ô Người gửi, thì xử lý theo cách chủ tên miền đã chọn, và gửi báo cáo về địa chỉ chủ tên miền chỉ định. Điều kiện "gắn đúng" (alignment) quan trọng: thư do dịch vụ gửi bản tin ký DKIM bằng tên miền của chính họ sẽ không tính là đạt DMARC cho tên miền của bạn.

Bản ghi mẫu để bắt đầu: kiểu TXT, tên _dmarc, giá trị v=DMARC1; p=none; rua=mailto:[email protected]. Chế độ p=none chỉ theo dõi, chưa chặn gì; các hộp thư lớn sẽ gửi báo cáo tổng hợp hằng ngày dạng tệp nén về địa chỉ rua, cho biết những máy chủ nào đang gửi thư nhân danh bạn và có đạt xác thực không.

Lộ trình an toàn: để p=none từ hai tới bốn tuần, đọc báo cáo (dùng công cụ phân tích DMARC trực tuyến cho dễ đọc), bổ sung SPF và DKIM cho mọi nguồn gửi hợp lệ còn sót. Sau đó nâng lên p=quarantine (thư trượt vào spam), có thể kèm pct=25 để áp cho một phần tư số thư trước. Cuối cùng là p=reject (từ chối thư giả mạo). Nhảy thẳng lên reject khi chưa đọc báo cáo là cách nhanh nhất để thư hoá đơn của chính bạn bị chặn.

Không chỉ DNS: những nguyên nhân khác đẩy thư vào spam

Có đủ ba bản ghi chỉ chứng minh thư là của bạn; nó không bảo đảm thư được vào hộp thư chính. Bộ lọc còn chấm điểm nhiều yếu tố khác:

  • Uy tín IP máy chủ gửi. Hosting dùng chung mà một website hàng xóm phát tán thư rác thì IP bị đưa vào danh sách đen, thư của bạn bị vạ lây. Tra IP trên các công cụ kiểm tra danh sách đen; bị liệt kê thì đề nghị hosting xử lý hoặc chuyển sang dịch vụ email riêng.
  • Gửi hàng loạt từ hộp thư thường. Đột ngột gửi 500 thư giống nhau từ một hộp thư mới là hành vi rất giống thư rác. Tên miền mới cần "làm ấm": tăng dần số thư trong vài tuần.
  • Tỷ lệ bị đánh dấu spam cao. Gmail khuyến nghị giữ dưới 0,1% và coi 0,3% là ngưỡng nguy hiểm. Gửi cho danh sách mua về hoặc người không đăng ký là cách nhanh nhất để vượt ngưỡng.
  • Nội dung. Thư chỉ có một ảnh lớn không có chữ, tiêu đề viết hoa toàn bộ kèm nhiều dấu chấm than, chứa liên kết rút gọn hoặc tên miền lạ, đính kèm tệp nén, đều bị cộng điểm nghi ngờ.
  • Thiếu cách huỷ đăng ký. Thư tiếp thị không có liên kết huỷ, người nhận chỉ còn cách bấm Báo cáo spam.
  • Địa chỉ Người gửi không khớp tên miền xác thực. Website gửi thư thông báo bằng địa chỉ Gmail hay địa chỉ một tên miền khác qua máy chủ hosting sẽ trượt DMARC.
  • Thiếu bản ghi PTR (DNS ngược) cho IP máy chủ tự quản, hoặc PTR trỏ tên chung chung của nhà mạng.

Thư hệ thống như xác nhận đơn hàng nên tách riêng khỏi thư tiếp thị, tốt nhất gửi qua hai luồng hoặc hai tên miền phụ khác nhau, để một chiến dịch quảng cáo bị báo spam không kéo theo thư đơn hàng.

Với website tự gửi thư bằng hàm mail mặc định của PHP, thư thường đi ra từ máy chủ web với địa chỉ người gửi chung chung và không có chữ ký DKIM. Cài plugin hoặc cấu hình cho website gửi qua SMTP của chính hộp thư tên miền (hoặc dịch vụ gửi thư giao dịch) là cách sửa nhanh và hiệu quả nhất cho thư quên mật khẩu, thư xác nhận đơn hàng bị vào spam.

Cách tự kiểm tra thư đã xác thực đúng chưa

Không cần công cụ trả phí, chỉ cần một tài khoản Gmail cá nhân:

  1. Gửi một lá thư bình thường từ hộp thư tên miền tới Gmail cá nhân của bạn.
  2. Mở lá thư trong Gmail trên máy tính, bấm dấu ba chấm cạnh nút trả lời, chọn Hiển thị bản gốc (tên mục có thể khác theo ngôn ngữ, phiên bản).
  3. Phía trên cùng có ba dòng SPF, DKIM, DMARC. Cả ba cần ghi PASS; dòng DKIM phải ghi đúng tên miền của bạn, không phải tên miền của dịch vụ trung gian.
  4. Nếu dòng nào FAIL hoặc không có, kéo xuống phần đầu thư tìm dòng Authentication-Results, nó ghi rõ lý do, ví dụ IP gửi không nằm trong SPF.
  5. Lặp lại với từng nguồn gửi: thư từ website, phần mềm bán hàng, công cụ gửi bản tin. Mỗi nguồn là một đường đi riêng và có thể trượt riêng.
  6. Dùng thêm các công cụ chấm điểm thư trực tuyến: bạn gửi tới địa chỉ thử do họ cấp, họ trả về bảng điểm cả DNS lẫn nội dung.
  7. Với lượng gửi lớn tới Gmail, đăng ký công cụ Postmaster của Google để theo dõi tỷ lệ bị báo spam và uy tín tên miền theo ngày.

Thay đổi DNS cần thời gian lưu đệm, thường vài phút tới vài giờ. Sửa xong mà kiểm tra ngay vẫn thấy FAIL thì chờ một lúc rồi gửi thư mới, đừng sửa tiếp chồng lên.

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

Không có SPF, DKIM, DMARC thì thư có bị chặn hẳn không?

Thư cá nhân lượng ít thường vẫn tới nhưng dễ vào spam và có thể bị gắn cảnh báo. Gmail, Yahoo yêu cầu mọi người gửi có ít nhất SPF hoặc DKIM; người gửi lượng lớn thiếu bất kỳ bản ghi nào có thể bị từ chối. Nên cấu hình đủ cả ba ngay từ đầu.

Đặt p=reject cho DMARC ngay có được không?

Được về kỹ thuật nhưng rủi ro. Nếu còn một nguồn gửi hợp lệ chưa có SPF hay DKIM đúng, ví dụ phần mềm hoá đơn, thư của nguồn đó sẽ bị từ chối mà bạn không biết. Nên chạy p=none vài tuần, đọc báo cáo rồi mới nâng dần.

Tên miền chỉ dùng cho website, không gửi email thì có cần cấu hình gì không?

Có, để chặn kẻ gian mạo danh. Đặt SPF là v=spf1 -all nghĩa là không máy chủ nào được gửi, và DMARC p=reject. Như vậy thư giả mạo tên miền của bạn sẽ bị các hộp thư lớn từ chối.

Đã PASS cả ba mà thư vẫn vào spam là vì sao?

Xác thực chỉ chứng minh thư là thật. Bộ lọc vẫn xét uy tín IP và tên miền, tỷ lệ người nhận báo spam, nội dung, liên kết và lịch sử tương tác. Tên miền mới, gửi đột ngột nhiều thư hoặc danh sách không đăng ký đều khiến thư vào spam dù xác thực đúng.

Đổi nhà cung cấp email có phải sửa SPF, DKIM không?

Có. SPF phải thay include của nhà cũ bằng nhà mới, DKIM phải tạo khoá mới ở nhà cung cấp mới và thêm bản ghi tương ứng. Có thể giữ cả hai include trong thời gian chuyển, rồi xoá phần của nhà cũ khi đã ngừng dùng.

Báo cáo DMARC gửi về khó đọc thì làm thế nào?

Báo cáo tổng hợp là tệp XML nén, đọc tay rất mệt. Dùng một công cụ phân tích DMARC trực tuyến, nhiều nơi có gói miễn phí cho lượng nhỏ: bạn trỏ địa chỉ rua về họ và xem biểu đồ nguồn gửi, tỷ lệ đạt. Nên dùng một hộp thư riêng để nhận báo cáo.

Bài viết liên quan

Có câu hỏi hay góp ý? Viết cho Nhím Lông Xanh

Thấy bài sai, muốn đề xuất chủ đề, hay có điều muốn hỏi? Để lại lời nhắn, Nhím Lông Xanh sẽ trả lời.