Technical Reference · 2026 Edition

Khắc Phục Sự Cố BIMI: Tại Sao Logo Của Bạn Không Hiển Thị (Hướng Dẫn Đầy Đủ)

Chẩn đoán và sửa 7 nguyên nhân phổ biến nhất khiến logo BIMI không xuất hiện trong ứng dụng email. Bao gồm chính sách DMARC, xác thực SVG, loại MIME, chứng chỉ VMC/CMC, thời gian cập nhật DNS và hỗ trợ của ứng dụng email.

Last updated min read

Khắc Phục Sự Cố BIMI: Tại Sao Logo Của Bạn Không Hiển Thị (Hướng Dẫn Đầy Đủ)

Brand Indicators for Message Identification (BIMI) cho phép các nhà cung cấp hộp thư hiển thị logo của bạn bên cạnh các email đã được xác thực. Khi logo không xuất hiện, nguyên nhân hầu như luôn là một trong bảy vấn đề đã được xác định rõ ràng. Hướng dẫn này sẽ đi qua từng vấn đề theo thứ tự tần suất xuất hiện, cung cấp cho bạn các bước chẩn đoán chính xác và hướng dẫn cách khắc phục.


Trước Khi Bắt Đầu: Cơ Chế Hiển Thị Logo BIMI

Khi máy chủ email nhận xử lý một tin nhắn đến, nó sẽ:

  1. Kiểm tra xem tên miền gửi có vượt qua DMARC với chính sách thực thi hay không.
  2. Tra cứu bản ghi BIMI DNS TXT tại default._bimi.<tênmiềncủabạn>.
  3. Tải logo SVG từ URL trong thẻ l=.
  4. (Đối với các nhà cung cấp yêu cầu) Xác thực Verified Mark Certificate (VMC) hoặc Common Mark Certificate (CMC) từ URL trong thẻ a=.
  5. Hiển thị logo trong giao diện hộp thư.

Lỗi ở bất kỳ bước nào sẽ âm thầm ẩn logo đi. Không có thông báo lỗi nào được hiển thị cho người gửi hoặc người nhận.


Nguyên Nhân 1: Chính Sách DMARC Không Ở Mức p=quarantine hoặc p=reject

Đây là nguyên nhân phổ biến nhất khiến logo BIMI không hiển thị.

Mọi nhà cung cấp hộp thư hỗ trợ BIMI — bao gồm Google, Yahoo, Apple, Fastmail và các nhà cung cấp khác — đều yêu cầu chính sách DMARC là p=quarantine hoặc p=reject trước khi họ hiển thị logo. Chính sách p=none được coi là không thực thi và BIMI sẽ bị bỏ qua hoàn toàn.

Cách Chẩn Đoán

Thực hiện tra cứu DNS trên bản ghi DMARC của bạn:

text
dig TXT _dmarc.yourdomain.com

Kiểm tra giá trị p= trong phản hồi. Đồng thời kiểm tra:

  • sp= — chính sách cho subdomain. Nếu email của bạn được gửi từ subdomain, sp=none sẽ chặn BIMI trên subdomain đó ngay cả khi tên miền gốc đang ở p=reject.
  • pct= — thẻ phần trăm. Một số nhà cung cấp yêu cầu pct=100. Giá trị dưới 100 có thể gây ra hiển thị logo không nhất quán.

Cách Khắc Phục

  1. Xác nhận xác thực email của bạn (SPF và DKIM) đang vượt qua một cách nhất quán trước khi nâng cấp chính sách.
  2. Chuyển DMARC từ p=none sang p=quarantine, theo dõi trong hai đến bốn tuần.
  3. Chuyển sang p=reject khi bạn đã tự tin rằng không có email hợp lệ nào bị lỗi.
  4. Đặt pct=100 một cách rõ ràng.
  5. Nếu gửi từ subdomain, thêm sp=quarantine hoặc sp=reject.

Ví dụ về bản ghi DMARC đúng:

text
v=DMARC1; p=reject; sp=reject; pct=100; rua=mailto:[email protected];

Lưu ý: Việc nâng cấp chính sách DMARC ảnh hưởng đến việc gửi email. Không được bỏ qua giai đoạn theo dõi.


Nguyên Nhân 2: Tệp SVG Không Thể Truy Cập Qua HTTPS

Máy chủ của nhà cung cấp hộp thư sẽ tải logo của bạn tại thời điểm hiển thị. Nếu tệp trả về bất kỳ phản hồi nào khác ngoài 200 OK hợp lệ qua HTTPS, logo sẽ bị ẩn.

Các Nguyên Nhân Phụ Phổ Biến

Triệu chứng Nguyên nhân có thể
404 Not Found URL sai trong thẻ l=, tệp đã bị di chuyển hoặc xóa
403 Forbidden CDN hoặc WAF chặn user agent không phải trình duyệt
301/302 Redirect Một số nhà cung cấp không theo dõi chuyển hướng
Lỗi chứng chỉ SSL Chứng chỉ TLS hết hạn hoặc tự ký trên tên miền lưu trữ
URL HTTP HTTP thuần không được chấp nhận; HTTPS là bắt buộc

Cách Chẩn Đoán

  1. Sao chép URL chính xác từ thẻ l= của bạn.
  2. Kiểm tra bằng curl để mô phỏng một yêu cầu không qua trình duyệt:
bash
curl -I "https://yourdomain.com/bimi/logo.svg"
  1. Kiểm tra mã trạng thái HTTP, header Content-Type và xem có chuyển hướng nào xảy ra không.
  2. Kiểm tra từ nhiều vị trí địa lý khác nhau hoặc sử dụng công cụ kiểm tra HTTP header trực tuyến để loại trừ việc chặn theo vùng địa lý.

Cách Khắc Phục

  1. Xác nhận URL trong bản ghi BIMI DNS của bạn khớp chính xác với đường dẫn tệp được lưu trữ — bao gồm cả phân biệt chữ hoa chữ thường.
  2. Nếu sử dụng CDN, đưa các user agent được sử dụng bởi các nhà cung cấp hộp thư lớn vào danh sách cho phép, hoặc cấu hình CDN để phục vụ tệp công khai mà không có bảo vệ bot.
  3. Đảm bảo tên miền lưu trữ có chứng chỉ TLS hợp lệ, được tin cậy (không tự ký).
  4. Nếu chuyển hướng là không thể tránh khỏi, cập nhật thẻ l= để trỏ trực tiếp đến URL cuối cùng.
  5. Xác minh tệp có thể truy cập được từ bên ngoài mạng của bạn.

Nguyên Nhân 3: Máy Chủ Trả Về Loại MIME Sai

Ngay cả khi tệp SVG có thể truy cập được, nhà cung cấp hộp thư vẫn xác thực header Content-Type được máy chủ của bạn trả về. Loại MIME đúng là image/svg+xml. Bất kỳ giá trị nào khác — bao gồm text/plain, application/octet-stream hoặc text/html — sẽ khiến logo bị từ chối.

Cách Chẩn Đoán

bash
curl -I "https://yourdomain.com/bimi/logo.svg"

Tìm dòng Content-Type trong các header phản hồi:

text
Content-Type: image/svg+xml

Nếu bạn thấy bất kỳ giá trị nào khác, loại MIME đã bị cấu hình sai.

Cách Khắc Phục

Cách khắc phục phụ thuộc vào máy chủ web hoặc nền tảng lưu trữ của bạn.

Apache — thêm vào .htaccess hoặc cấu hình máy chủ:

apache
AddType image/svg+xml .svg .svgz

Nginx — thêm vào mime.types hoặc server block:

nginx
types {
    image/svg+xml svg svgz;
}

Amazon S3 / CloudFront — đặt metadata Content-Type trên đối tượng thành image/svg+xml khi tải lên. S3 không tự động suy luận loại MIME.

Cloudflare Pages / Netlify — thêm tệp _headers:

text
/bimi/logo.svg
  Content-Type: image/svg+xml

Sau khi thực hiện thay đổi, chạy lại lệnh kiểm tra curl -I để xác nhận header đã đúng.


Nguyên Nhân 4: Tệp SVG Không Vượt Qua Xác Thực W3C Tiny P/S

BIMI không chấp nhận các tệp SVG tiêu chuẩn. Đặc tả yêu cầu SVG Tiny 1.2 Portable/Secure (SVG Tiny P/S), một cấu hình hạn chế được thiết kế để an toàn khi hiển thị trong các ngữ cảnh không đáng tin cậy. Hầu hết các tệp SVG được xuất từ các công cụ thiết kế như Adobe Illustrator, Figma hoặc Inkscape đều không tuân thủ cấu hình này nếu không được chỉnh sửa.

Các Lỗi Xác Thực Phổ Biến

Vấn đề Tại sao bị lỗi
Thiếu hoặc sai baseProfile Phải là baseProfile="tiny" trong phần tử <svg>
Thiếu thuộc tính version="1.2" Được yêu cầu bởi đặc tả
Hình ảnh raster nhúng (<image>) Không được phép trong Tiny P/S
JavaScript hoặc trình xử lý sự kiện Bị cấm hoàn toàn
Tham chiếu bên ngoài hoặc <use> với href bên ngoài Không được phép
CSS @import hoặc stylesheet bên ngoài Không được phép
Bộ lọc, mặt nạ hoặc gradient (trong một số triển khai) Hỗ trợ hạn chế
Tệp không được bọc trong <svg> là phần tử gốc Yêu cầu về cấu trúc

Cách Chẩn Đoán

  1. Mở tệp SVG của bạn trong trình soạn thảo văn bản và kiểm tra thẻ mở <svg>. Nó phải bao gồm:
xml
<svg xmlns="http://www.w3.