Email là kênh giao tiếp quan trọng của mọi website WordPress. Khi người dùng đăng ký, đặt hàng, yêu cầu đặt lại mật khẩu hay nhận thông báo, hệ thống sẽ gửi email tự động. Tuy nhiên, rất nhiều quản trị viên gặp tình trạng WordPress email template broken – mẫu email hiển thị lỗi, thiếu định dạng HTML, chỉ toàn văn bản trần hoặc hình ảnh bị vỡ. Vấn đề này không chỉ làm giảm trải nghiệm người dùng mà còn khiến email dễ rơi vào hộp thư rác, ảnh hưởng trực tiếp đến uy tín thương hiệu và tỷ lệ chuyển đổi. Bài viết dưới đây sẽ phân tích chi tiết nguyên nhân, dấu hiệu nhận biết và hướng dẫn bạn từng bước khắc phục triệt để lỗi email template trên WordPress.
WordPress Email Template Broken là gì?

Email template bị hỏng (broken) xảy ra khi email gửi từ WordPress không hiển thị đúng giao diện HTML đã được thiết kế. Thay vì một email có bố cục đẹp, màu sắc thương hiệu, hình ảnh sản phẩm hay nút kêu gọi hành động, người nhận chỉ thấy một khối văn bản thô, thiếu CSS, hình ảnh bị thiếu, link không hoạt động hoặc các block chồng chéo lộn xộn. Lỗi này có thể xuất hiện trên tất cả các loại email: thông báo đơn hàng, xác nhận đăng ký, khôi phục mật khẩu, bình luận mới, hay email marketing từ plugin như WooCommerce, Easy Digital Downloads, MailPoet, WPForms, v.v.
Về bản chất, WordPress gửi email thông qua hàm wp_mail(). Mặc định, hàm này gửi email dưới dạng plain text nếu không được cấu hình thêm header Content-Type: text/html. Nếu template của bạn được thiết kế với HTML và CSS nhưng quá trình gửi không inline CSS hoặc server không hỗ trợ, email sẽ bị hỏng. Ngoài ra, xung đột plugin, theme lỗi thời, hay cài đặt SMTP sai cũng là những thủ phạm phổ biến.
Nguyên nhân phổ biến khiến WordPress Email Template bị hỏng
Có nhiều yếu tố gây ra lỗi email template.
- Cập nhật WordPress, plugin hoặc theme: Sau khi cập nhật, một số hàm hoặc template cũ không tương thích dẫn đến lỗi hiển thị.
- Sử dụng hàm wp_mail() mà không thiết lập Content-Type: Mặc định email gửi dạng text/plain, không hỗ trợ HTML template.
- Thiếu cấu hình SMTP, DKIM, SPF: Email không được chứng thực dễ bị spam filter chặn hoặc sửa đổi nội dung, làm hỏng template.
- CSS không được inline: Hầu hết email client (Gmail, Outlook, Yahoo) yêu cầu CSS inline. Nếu CSS để ở phần head, email sẽ hiển thị sai.
- Bảng mã (character encoding) sai: Ký tự đặc biệt, tiếng Việt có dấu hiển thị lỗi, gây vỡ layout.
- Template không responsive: Email không tối ưu cho mobile, các block bị vỡ trên màn hình nhỏ.
- Plugin tối ưu hóa hình ảnh hoặc lazy load: Một số plugin tự động nén hình ảnh hoặc trì hoãn tải có thể làm hỏng đường dẫn ảnh trong email.
- Lỗi từ host/server: Server không hỗ trợ PHPMailer hoặc cấu hình PHP mail sai cũng gây lỗi khi gửi email template.
Dấu hiệu nhận biết Email Template bị hỏng

Việc phát hiện sớm lỗi giúp bạn khắc phục nhanh chóng. Một số dấu hiệu điển hình:
- Email hiển thị dưới dạng văn bản thuần, không có bất kỳ định dạng HTML nào.
- Hình ảnh bị thiếu, hiển thị icon lỗi hoặc đường dẫn ảnh không hoạt động.
- Bố cục email bị phá vỡ: các cột chồng lên nhau, text tràn ra ngoài khung, nút bấm bị méo.
- Link trong email không thể click, hoặc dẫn sai địa chỉ.
- Email bị đánh dấu spam ngay cả khi nội dung hợp lệ.
- Màu sắc, font chữ không đúng với thiết kế thương hiệu.
- Kích thước email quá to hoặc quá nhỏ trên các thiết bị khác nhau.
Cách kiểm tra lỗi WordPress Email Template
Trước khi sửa chữa, bạn cần xác định chính xác lỗi.
Hướng dẫn sửa lỗi WordPress Email Template Broken chi tiết

Bước 1: Kiểm tra và tắt xung đột plugin/theme
Xung đột là nguyên nhân số một. Hãy tạm thời tắt tất cả plugin, ngoại trừ plugin gửi email (nếu có). Sau đó chuyển theme về mặc định (Twenty Twenty-Four hoặc Storefront nếu dùng WooCommerce). Gửi email test lại. Nếu template hiển thị đúng, lỗi đến từ plugin hoặc theme bạn đang dùng. Bật từng plugin một và kiểm tra lại để tìm ra thủ phạm.
Bước 2: Cấu hình SMTP và xác thực email
Một plugin SMTP chuyên nghiệp giúp gửi email qua server chuyên dụng (Gmail, SendGrid, Mailgun, Amazon SES) với đầy đủ xác thực DKIM/SPF, giảm tỷ lệ spam và hỗ trợ HTML template tốt hơn. Các plugin SMTP hàng đầu:
- WP Mail SMTP – Giao diện trực quan, hỗ trợ nhiều mailer, có log email.
- Post SMTP – Miễn phí, nhiều tính năng bảo mật và debug.
- Easy WP SMTP – Đơn giản, nhẹ, phù hợp người mới.
Sau khi cài đặt, cấu hình đúng thông số SMTP của nhà cung cấp bạn chọn. Đừng quên thiết lập DNS DKIM và SPF tại hosting để tăng độ tin cậy.
Bước 3: Thiết lập Content-Type cho email HTML
Nếu bạn không dùng plugin template chuyên biệt, hãy thêm đoạn code sau vào file functions.php của theme child hoặc dùng Code Snippets plugin:
add_filter( 'wp_mail_content_type', function() { return 'text/html'; } );
Điều này buộc wp_mail() gửi email với header HTML. Tuy nhiên, cần kết hợp với template có đầy đủ HTML và CSS inline.
Bước 4: Sử dụng plugin Email Template Customizer
Các plugin sau giúp bạn chỉnh sửa giao diện email trực tiếp, đảm bảo template không bị hỏng:
- Email Customizer for WooCommerce (YayMail) – Kéo thả, nhiều mẫu, hỗ trợ inline CSS.
- Kadence WP Email Customizer – Miễn phí, tích hợp với Kadence Theme.
- Email Template Customizer for WordPress (BizSwoop) – Chỉnh sửa template mặc định của WordPress.
Những plugin này tự động inline CSS và tối ưu hiển thị trên đa số email client.
Bước 5: Inline CSS thủ công hoặc tự động
Nếu bạn tự viết template, hãy đảm bảo tất cả style được viết trực tiếp trên các thẻ HTML (inline) thay vì trong <style>. Có thể sử dụng công cụ online như CSS Inliner từ Mailchimp hoặc Premailer để chuyển đổi. Plugin Automatic CSS Inliner có thể làm việc này tự động cho email WordPress.
Bước 6: Kiểm tra mã hóa ký tự (UTF-8)
Thêm dòng sau vào header email để tránh lỗi tiếng Việt:
add_filter( 'wp_mail_charset', function() { return 'UTF-8'; } );
Đồng thời, kiểm tra file template có khai báo <meta charset="UTF-8"> trong phần <head>.
Bước 7: Xóa cache email
Một số plugin cache (W3 Total Cache, WP Super Cache) có tùy chọn cache email. Vào cài đặt và tắt cache cho email. Đồng thời xóa toàn bộ cache sau khi thay đổi.
Bước 8: Test trên nhiều email client và thiết bị
Dùng Mailtrap hoặc Litmus để xem trước email trên Gmail, Outlook, Apple Mail, Yahoo, Thunderbird, trên desktop và mobile. Nếu lỗi chỉ xuất hiện trên một client, bạn cần điều chỉnh CSS inline cho client đó (ví dụ: Outlook cần conditional comments).
So sánh các plugin hỗ trợ khắc phục Email Template lỗi
| Plugin | Chức năng chính | Khả năng fix template | Inline CSS tự động | Hỗ trợ SMTP | Giá cả |
|---|---|---|---|---|---|
| WP Mail SMTP | Gửi email qua SMTP, log, debug | Không trực tiếp, nhưng cải thiện độ tin cậy | Không | Có (nhiều mailer) | Miễn phí + bản Pro |
| YayMail (Email Customizer for Woo) | Kéo thả customizer template WooCommerce | Có (thay thế template mặc định) | Có | Không | Trả phí (khoảng 59 USD/năm) |
| Kadence Email Customizer | Chỉnh sửa email WordPress mặc định | Có | Có | Không | Miễn phí |
| Post SMTP | Gửi email, log, xác thực | Không | Không | Có | Miễn phí |
| Email Log | Ghi log và gửi email test | Không (chỉ giúp kiểm tra) | Không | Không | Miễn phí |
Lợi ích khi khắc phục được lỗi WordPress Email Template

Sau khi sửa lỗi thành công, bạn sẽ nhận được những lợi ích thiết thực:
- Tăng tỷ lệ mở email (open rate): Email có thiết kế đẹp, hình ảnh rõ ràng thu hút người nhận hơn.
- Cải thiện tỷ lệ click: Nút bấm hoạt động tốt, link chính xác giúp tăng chuyển đổi.
- Xây dựng thương hiệu chuyên nghiệp: Email nhất quán với logo, màu sắc, font chữ tạo niềm tin.
- Giảm tỷ lệ spam: Email HTML đúng chuẩn, có xác thực DKIM/SPF ít bị đưa vào spam.
- Nâng cao trải nghiệm người dùng: Khách hàng dễ đọc thông tin, thao tác nhanh hơn.
Sai lầm thường gặp khi sửa lỗi WordPress Email Template
Nhiều quản trị viên mắc những sai lầm sau khiến lỗi vẫn tồn tại:
- Chỉ tập trung vào SMTP mà bỏ qua template: SMTP giúp email đến hộp thư nhưng nếu template không đúng chuẩn, vẫn hiển thị hỏng.
- Không test trên đủ email client: Một email đẹp trên Gmail có thể vỡ trên Outlook. Cần test rộng rãi.
- Dùng CSS không được hỗ trợ trong email: Các thuộc tính như
position,float,flexboxthường không hoạt động trên email client. - Bỏ qua tối ưu mobile: Hơn 50% email được mở trên điện thoại, template cần responsive.
- Quên cập nhật DKIM/SPF sau khi đổi SMTP: Khi thay đổi nhà cung cấp email, bạn phải cập nhật bản ghi DNS.
- Sửa code trực tiếp trên live site mà không backup: Luôn sao lưu và test staging trước.
Lưu ý quan trọng khi khắc phục lỗi Email Template

- Luôn tạo staging site trước khi áp dụng các thay đổi lớn.
- Sao lưu database và file theme/plugin trước khi chỉnh sửa.
- Sử dụng theme child để tránh mất chỉnh sửa khi cập nhật theme chính.
- Đảm bảo email test gửi đến nhiều địa chỉ khác nhau (Gmail, Outlook, Yahoo, Mail.ru) để đánh giá toàn diện.
- Nếu dùng SMTP, lưu ý không lưu mật khẩu dưới dạng text plain trong file cấu hình; dùng plugin mã hóa hoặc biến môi trường.
- Thường xuyên cập nhật WordPress, plugin, theme để vá lỗi bảo mật và tương thích.
Câu hỏi thường gặp về WordPress Email Template Broken
WordPress email template bị hỏng sau khi update plugin?
Đây là lỗi phổ biến do xung đột phiên bản. Hãy kiểm tra log cập nhật, xem plugin nào có thay đổi liên quan đến email. Tạm thời quay lại phiên bản cũ của plugin đó, hoặc liên hệ nhà phát triển để cập nhật fix. Nếu không, chuyển sang plugin thay thế.
Làm thế nào để kiểm tra xem email WordPress có gửi đúng HTML template không?
Cài plugin WP Mail Logging, gửi email test, sau đó xem log và chọn “View Email”. Source code hiển thị đầy đủ HTML. Nếu thấy văn bản thuần nhưng có thẻ HTML, chứng tỏ template chưa được gửi đúng dạng.
Nguyên nhân chính là hàm wp_mail() mặc định gửi text/plain. Cần thêm header Content-Type: text/html. Hoặc plugin/theme bạn dùng có filter ghi đè loại nội dung thành text. Kiểm tra filter wp_mail_content_type trong functions.php hoặc code của plugin.
Plugin nào giúp custom email template WordPress?
Có nhiều plugin: YayMail (cho WooCommerce), Kadence Email Customizer, Email Template Customizer, và MailPoet (cho email marketing). Tùy nhu cầu bạn chọn plugin phù hợp. Đa số đều hỗ trợ kéo thả và inline CSS tự động.
Lỗi email template có liên quan đến host không?
Có thể. Một số host cấu hình PHP mail không đúng, chặn hàm mail() hoặc giới hạn attachment kích thước. Hãy thử gửi email qua SMTP thay vì PHP mail. Nếu host chặn port SMTP, bạn cần mở port hoặc dùng các dịch vụ email API của bên thứ ba.
Kết luận
Lỗi WordPress email template broken không phải là vấn đề quá phức tạp nếu bạn hiểu rõ nguyên nhân và áp dụng đúng phương pháp. Bắt đầu bằng việc kiểm tra xung đột, nâng cấp cấu hình SMTP, sử dụng plugin customizer hoặc inline CSS. Đừng quên test trên nhiều nền tảng và duy trì bảo trì định kỳ. Một hệ thống email hoạt động trơn tru sẽ giúp website WordPress của bạn chuyên nghiệp hơn, tăng tương tác với khách hàng và hạn chế rủi ro mất đơn hàng hay thông báo quan trọng. Hãy thực hiện ngay các bước trong bài viết để khắc phục triệt để lỗi này.
- WordPress Dashboard Là Gì? Hướng Dẫn Toàn Diện Từ A-Z Cho Người Mới Bắt Đầu
- Khắc phục lỗi WooCommerce không xóa được sản phẩm: Nguyên nhân và giải pháp toàn diện
- WooCommerce Cho Website Bán Hàng: Giải Pháp Tối Ưu Để Xây Dựng Cửa Hàng Trực Tuyến Chuyên Nghiệp
- Hướng dẫn chi tiết cách tạo trang giới thiệu WordPress chuyên nghiệp thu hút khách hàng
- Woocommerce Currency Switcher Lỗi: Nguyên Nhân, Cách Khắc Phục Toàn Diện Từ A-Z















