Vì sao email từ VPS vào spam và cách khắc phục

SSH vào VPS, gửi thử email đầu tiên bằng Postfix, kiểm tra hộp thư Gmail thì thấy nó nằm trong Spam. Kịch bản quen thuộc với bất kỳ ai mới bắt đầu tự host email trên VPS Linux. Bài viết này phân tích các nguyên nhân thực sự khiến email từ VPS rơi vào spam, cách kiểm tra từng yếu tố và quy trình khắc phục có thể làm ngay trong ngày.
- Email từ VPS vào spam chủ yếu do IP mới, thiếu xác thực và danh tiếng thấp.
- Bốn bản ghi xác thực bắt buộc gồm SPF, DKIM, DMARC và rDNS.
- Làm ấm IP và duy trì tỷ lệ bounce dưới 2% giúp cải thiện deliverability.
- Kiểm tra blacklist và kháng nghị gỡ IP là việc ưu tiên đầu tiên.
Yêu cầu trước khi bắt đầu
- VPS chạy Ubuntu 24.04 hoặc Debian 12, có quyền root hoặc sudo.
- Một tên miền đã trỏ DNS về IP của VPS.
- Đã cài MTA như Postfix hoặc Exim (bài này dùng Postfix làm ví dụ).
- Quyền chỉnh sửa DNS tại nhà cung cấp tên miền.
Vì sao email từ VPS vào spam?
Dịch vụ email lớn như Gmail, Outlook hay Yahoo không tin một IP mới. Khi bạn gửi email từ VPS vừa thuê lần đầu, IP đó không có lịch sử gửi thư, không có danh tiếng (reputation). Nhà cung cấp email áp dụng chính sách thận trọng: thư từ nguồn chưa xác thực sẽ bị xếp vào spam để bảo vệ người dùng.
Ngoài yếu tố IP mới, có 4 lỗi kỹ thuật phổ biến khiến email bị đánh dấu spam:
- Thiếu bản ghi SPF: máy chủ nhận không xác minh được IP của bạn có được phép gửi email cho tên miền đó hay không.
- Thiếu DKIM: chữ ký số của email không tồn tại, email có thể bị giả mạo.
- Thiếu DMARC: không có chính sách xử lý email giả mạo, máy chủ nhận có xu hướng nghi ngờ.
- Thiếu hoặc sai rDNS: bản ghi PTR không khớp với hostname, điểm tin cậy bị trừ.
Một yếu tố nữa là nội dung email. Mở đầu bằng từ "Ngân hàng", "Khẩn cấp", hoặc chứa quá nhiều link rút gọn, hình ảnh thiếu văn bản đều kích hoạt bộ lọc spam. Kể cả khi bạn gửi thư hợp lệ, nội dung kiểu quảng cáo vẫn dễ bị đưa vào spam hơn email cá nhân thông thường.
Kiểm tra IP có nằm trong blacklist không?
Trước khi sửa cấu hình, hãy kiểm tra IP của VPS có bị liệt kê trong blacklist hay không. Có nhiều danh sách đen công khai, phổ biến là Spamhaus ZEN, SpamCop, Barracuda. Bạn có thể dùng công cụ trực tuyến MXToolbox hoặc kiểm tra thủ công bằng lệnh:
dig +short 2.0.0.127.zen.spamhaus.org
# Nếu kết quả trả về 127.0.0.2 nghĩa là IP đang trong danh sách SBL của Spamhaus
Thay 2.0.0.127 bằng IP đảo ngược của VPS. Ví dụ IP của bạn là 203.113.25.10, thì truy vấn thành 10.25.113.203.zen.spamhaus.org.
Ngoài lệnh thủ công, bạn có thể ghé trang mxtoolbox.com/blacklists.aspx, nhập IP và xem kết quả từ hơn 100 danh sách. Nếu IP bị liệt kê, việc đầu tiên là gửi yêu cầu gỡ (delist) theo hướng dẫn từng tổ chức. Quá trình này có thể mất từ vài giờ đến vài ngày.
IP VPS mới thuê thường không dính blacklist sẵn, nhưng nếu bạn mua lại IP đã qua sử dụng của nhà cung cấp cũ, nguy cơ cao hơn. Khi chọn VPS SMTP, bạn nên hỏi nhà cung cấp về lịch sử IP trước khi thanh toán.
Thiết lập SPF, DKIM, DMARC và rDNS
Bốn bản ghi này là nền tảng để email không vào spam. Làm lần lượt từng bước, mỗi bước đều kiểm tra được kết quả.
Bước 1 - Cấu hình SPF
SPF (Sender Policy Framework) khai báo những IP nào được phép gửi email thay mặt tên miền. Thêm bản ghi TXT sau vào DNS:
v=spf1 ip4:203.113.25.10 include:spf.example.com ~all
Thay IP và domain cho khớp. Dấu ~all nghĩa là "soft fail" cho phép máy chủ nhận biết email không hợp lệ nhưng không từ chối ngay, phù hợp khi bạn chưa hoàn thiện cấu hình.
Sau khi DNS lan truyền, kiểm tra bằng lệnh:
dig TXT example.com | grep spf
Bước 2 - Tạo chữ ký DKIM
DKIM (DomainKeys Identified Mail) ký điện tử mỗi email để máy chủ nhận xác minh. Trên Postfix, cài opendkim:
sudo apt install opendkim opendkim-tools
Tạo cặp khóa cho tên miền.
sudo opendkim-genkey -b 2048 -d example.com -D /etc/opendkim/keys -o mail.key
File mail.txt trong thư mục keys chứa bản ghi TXT cần thêm vào DNS. Nội dung giống dạng:
mail._domainkey TXT "v=DKIM1; h=sha256; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC..."
Cấu hình Postfix ký email qua opendkim bằng cách thêm vào /etc/postfix/main.cf:
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891
milter_default_action = accept
Khởi động lại cả hai dịch vụ:
sudo systemctl restart opendkim postfix
Bước 3 - Thêm chính sách DMARC
DMARC (Domain-based Message Authentication, Reporting & Conformance) hướng dẫn máy chủ nhận xử lý email khi cả SPF lẫn DKIM đều không đạt. Thêm bản ghi TXT:
_dmarc TXT "v=DMARC1; p=quarantine; rua=mailto:[email protected]; pct=100"
Chính sách quarantine yêu cầu đưa email lỗi xác thực vào spam thay vì từ chối hẳn. Sau khi hệ thống chạy ổn định ít nhất 1 tuần, bạn có thể nâng lên p=reject.
Bước 4 - Cấu hình rDNS
rDNS (Reverse DNS) là bản ghi PTR trỏ ngược từ IP về hostname. Không phải chủ VPS tự thêm được mà phải yêu cầu nhà cung cấp. Với thuê dedicated server hoặc VPS, bạn mở ticket nhờ bộ phận kỹ thuật đặt PTR.
Hostname nên có dạng mail.example.com và trùng với tên trong bản ghi A của tên miền. Kiểm tra sau khi được cấu hình:
dig -x 203.113.25.10
Kết quả trả về phải khớp hostname bạn đã khai báo.
Làm ấm IP và duy trì danh tiếng
Sau khi thiết lập xong 4 bản ghi xác thực, đừng gửi ồ ạt ngay. IP mới cần thời gian để xây dựng danh tiếng với nhà cung cấp email. Quy trình làm ấm IP (IP warming) điển hình kéo dài từ 2 đến 4 tuần.
Bắt đầu gửi khoảng 50 đến 100 email mỗi ngày cho địa chỉ đã đăng ký và tương tác tích cực. Tăng dần khối lượng mỗi ngày 20-30%. Theo dõi tỷ lệ mở và tỷ lệ khiếu nại Spam. Nếu tỷ lệ bounce cứng vượt quá 2%, dừng tăng và xử lý danh sách người nhận.
| Tuần | Số email mỗi ngày (gợi ý) | Loại người nhận |
|---|---|---|
| Tuần 1 | 50 - 100 | Nội bộ, khách hàng thân thiết |
| Tuần 2 | 200 - 500 | Người đăng ký gần đây |
| Tuần 3 | 500 - 1.000 | Người đăng ký đã tương tác |
| Tuần 4+ | Tăng dần theo tỷ lệ mở | Toàn bộ danh sách sạch |
Một lưu ý: gửi email marketing và email giao dịch (transactional) từ cùng một IP sẽ làm loãng danh tiếng. Nếu lượng email marketing lớn, nên tách sang IP riêng hoặc dùng dịch vụ chuyên gửi.
Kiểm tra deliverability sau khi khắc phục
Sau khi hoàn tất cấu hình, gửi email kiểm tra tới các địa chỉ test của Gmail, Outlook, Yahoo và kiểm tra xem chúng có vào hộp thư chính hay không.
echo "Test email" | mail -s "Kiểm tra deliverability" [email protected]
Ngoài ra, dùng công cụ mail-tester.com, gửi email tới địa chỉ hiển thị trên web, kết quả trả về sẽ chấm điểm từ 1 đến 10 cùng chi tiết lỗi còn thiếu. Điểm trên 8 là mức chấp nhận được để gửi email thực tế.
Xem header email nhận được trên Gmail bằng cách mở email, nhấn vào ba chấm, chọn "Hiển thị bản gốc". Kiểm tra dòng Authentication-Results phải hiển thị spf=pass, dkim=pass và dmarc=pass.
Các lỗi thường gặp và cách xử lý
Email vẫn vào spam dù đã pass xác thực
Kiểm tra nội dung email. Chữ ký quá nhiều link, đính kèm file lạ, hoặc chứa từ khóa nhạy cảm đều làm tăng điểm spam. Gửi email dạng text đơn giản để kiểm tra trước, sau đó thêm dần định dạng HTML.
DKIM không ký được email
Kiểm tra log opendkim:
sudo journalctl -u opendkim -f
Lỗi phổ biến là thiếu khai báo tên miền trong /etc/opendkim.conf hoặc selector không khớp. Đảm bảo dòng Mode=sv và Selector=mail xuất hiện trong file cấu hình.
rDNS chưa được cập nhật
Liên hệ nhà cung cấp VPS để yêu cầu đặt PTR. Mỗi nhà cung cấp có quy trình riêng, một số cho phép tự thêm qua panel, số khác yêu cầu mở ticket. Thời gian phản hồi thường từ vài giờ đến 1 ngày làm việc.
Câu hỏi thường gặp
IP mới thuê có sẵn trong blacklist không?
Hiếm khi. Nhà cung cấp uy tín thường quản lý IP sạch. Tuy nhiên nếu mua lại IP cũ đã qua sử dụng, bạn nên kiểm tra trên MXToolbox trước khi dùng để gửi email.
Thiếu DMARC có khiến email vào spam không?
Có. Một số nhà cung cấp email áp dụng chính sách DMARC của người gửi, nếu không có bản ghi, họ có thể đối xử thận trọng hơn với email của bạn.
Làm ấm IP trong bao lâu thì email không vào spam?
Thường từ 2 đến 4 tuần nếu bạn duy trì tỷ lệ khiếu nại thấp và tăng lượng gửi từ từ. Với email cá nhân hoặc giao dịch, thời gian có thể ngắn hơn.
Có nên dùng port 25 hay port 587 để gửi email?
Port 587 với STARTTLS là chuẩn cho email submission. Port 25 thường dành cho MTA chuyển tiếp giữa các máy chủ, nhiều nhà mạng chặn port 25 để chống spam.
Email từ VPS Việt Nam gửi sang nước ngoài có khác gì không?
Chặng quốc tế phụ thuộc chất lượng route và danh tiếng IP. Email gửi từ IP Việt Nam đến Gmail hoàn toàn bình thường nếu đủ xác thực và IP sạch. Nếu lượng lớn, nên cân nhắc IP chuyên gửi để ổn định.
Bài viết liên quan
- Hướng dẫn thiết lập SPF, DKIM, DMARC cho VPS SMTP
- Cách cấu hình rDNS cho VPS gửi mail chuẩn 2026
- Hướng dẫn cài dịch vụ email trên VPS thuê tại thueVPS
- Cách cấu hình DNS record A, CNAME, MX, TXT cho tên miền


