Hướng dẫn cấu hình kết nối - tích hợp SMTP Zozo EMA
Zozo EMA cung cấp giải pháp gửi email marketing qua API. Ngoài việc tích hợp trực tiếp qua REST API, Zozo EMA còn hỗ trợ gửi email qua giao thức SMTP — cho phép bất kỳ ứng dụng, website, CRM hay phần mềm nào có hỗ trợ SMTP đều có thể gửi email thông qua hạ tầng Zozo EMA mà không cần viết code tích hợp API.
1. Tổng quan giải pháp
SMTP Relay của Zozo EMA hoạt động như một cổng trung gian: nhận email từ ứng dụng của bạn qua giao thức SMTP chuẩn, sau đó tự động chuyển tiếp qua hệ thống API của Zozo EMA để gửi đi.
Ưu điểm:
- Không cần lập trình — chỉ cần cấu hình thông số SMTP là xong
- Tương thích mọi nền tảng — WordPress, CRM, ERP, ứng dụng PHP, Python, Go, .NET, Java...
- Sử dụng chung api_token — không cần tạo thêm tài khoản SMTP riêng
- Hỗ trợ đầy đủ — CC, BCC, đính kèm file, Reply-To, HTML email
2. Thông số cấu hình SMTP
| Thông số | Giá trị | Ghi chú |
|---|---|---|
| SMTP Host | ema-smtp.zozo.vn |
Máy chủ SMTP Relay |
| SMTP Port | 587 |
Port chuẩn cho SMTP submission |
| Username | Email đăng ký trên Zozo EMA | Ví dụ: contact@congty.com |
| Password | API Token | Lấy tại: Zozo EMA → API token |
| Encryption | None |
Không yêu cầu TLS/SSL |
| Authentication | Yes (LOGIN hoặc PLAIN) |
Bắt buộc xác thực |
3. Lấy API Token
- Đăng nhập vào Zozo EMA tại https://appv4.zozo.vn
- Vào menu Trang chủ → API token
- Copy giá trị API token — đây chính là SMTP Password
- Ghi nhớ email đăng ký — đây chính là SMTP Username
Lưu ý: Nếu cần đổi token mới, nhấn nút "Làm mới Token". Token cũ sẽ ngừng hoạt động ngay lập tức.
4. Các trường dữ liệu được hỗ trợ
Khi gửi email qua SMTP, hệ thống tự động nhận diện và chuyển đổi các trường thông tin sau:
| Trường email | Mô tả | Bắt buộc |
|---|---|---|
| From | Địa chỉ và tên người gửi. Ví dụ: "Công ty ABC" |
Có |
| To | Người nhận chính. Hỗ trợ nhiều người, phân cách bằng dấu phẩy | Có |
| Subject | Tiêu đề email | Có |
| CC | Người nhận bản sao. Hỗ trợ nhiều người, phân cách bằng dấu phẩy | Không |
| BCC | Người nhận ẩn. Hỗ trợ nhiều người, phân cách bằng dấu phẩy | Không |
| Reply-To | Địa chỉ nhận phản hồi (nếu khác From) | Không |
| Body (HTML) | Nội dung email định dạng HTML | Có |
| Body (Text) | Nội dung email dạng text thuần (tự chuyển sang HTML nếu không có HTML) | Không |
| Attachments | File đính kèm (tự động encode base64) | Không |
5. Hướng dẫn tích hợp cụ thể
5.1. WordPress (WP Mail SMTP Plugin)
WordPress mặc định gửi email qua hàm wp_mail() sử dụng PHP mail. Để chuyển sang Zozo EMA, cài plugin WP Mail SMTP:
- Cài plugin: Plugins → Add New → Tìm "WP Mail SMTP" → Install → Activate
- Vào WP Mail SMTP → Settings
- Chọn mailer: Other SMTP
- Điền thông số:
- SMTP Host:
ema-smtp.zozo.vn - Encryption:
None - SMTP Port:
587 - Authentication:
On - SMTP Username:
email_dang_ky@congty.com - SMTP Password:
API_TOKEN_CUA_BAN
- SMTP Host:
- Mục From Email: điền email đăng ký trên Zozo EMA
- Mục From Name: điền tên hiển thị (bắt buộc)
- Nhấn Save Settings
- Vào tab Email Test để gửi thử
5.2. Getfly CRM
Getfly CRM hỗ trợ cấu hình SMTP tùy chỉnh để gửi email từ hệ thống CRM:
- Đăng nhập Getfly CRM
- Vào Cài đặt → Email → Cấu hình SMTP
- Điền thông số:
- SMTP Server:
ema-smtp.zozo.vn - Port:
587 - Bảo mật:
Không(None) - Tên đăng nhập:
email_dang_ky@congty.com - Mật khẩu:
API_TOKEN_CUA_BAN
- SMTP Server:
- Nhấn Lưu và Gửi thử để kiểm tra
5.3. MISA AMIS CRM
MISA AMIS cho phép cấu hình SMTP để gửi email marketing và email tự động:
- Đăng nhập MISA AMIS
- Vào Thiết lập → Email → Cấu hình máy chủ gửi mail
- Chọn Máy chủ SMTP tùy chỉnh
- Điền thông số:
- Máy chủ SMTP:
ema-smtp.zozo.vn - Cổng:
587 - Mã hóa:
Không - Tên đăng nhập:
email_dang_ky@congty.com - Mật khẩu:
API_TOKEN_CUA_BAN
- Máy chủ SMTP:
- Nhấn Kiểm tra kết nối rồi Lưu
5.4. PHP (PHPMailer)
PHPMailer là thư viện gửi email phổ biến nhất cho PHP. Cài qua Composer:
composer require phpmailer/phpmailer
Code mẫu:
isSMTP();
$mail->Host = 'ema-smtp.zozo.vn';
$mail->Port = 587;
$mail->SMTPAuth = true;
$mail->Username = 'email_dang_ky@congty.com'; // Email đăng ký Zozo EMA
$mail->Password = 'API_TOKEN_CUA_BAN'; // API Token
$mail->SMTPSecure = false;
$mail->SMTPAutoTLS = false;
$mail->CharSet = 'UTF-8';
// Người gửi
$mail->setFrom('email_dang_ky@congty.com', 'Tên Công Ty');
$mail->addReplyTo('hotro@congty.com', 'Bộ phận hỗ trợ');
// Người nhận
$mail->addAddress('nguoinhan@example.com', 'Nguyễn Văn A');
$mail->addCC('cc1@example.com', 'Người CC 1');
$mail->addCC('cc2@example.com');
$mail->addBCC('bcc@example.com');
// Nội dung
$mail->isHTML(true);
$mail->Subject = 'Xác nhận đơn hàng #12345';
$mail->Body = 'Cảm ơn bạn đã đặt hàng!
Đơn hàng #12345 đã được xác nhận.
';
// Đính kèm file (tùy chọn)
$mail->addAttachment('/path/to/hoadon.pdf', 'HoaDon_12345.pdf');
$mail->send();
echo 'Gửi email thành công!';
} catch (Exception $e) {
echo "Lỗi: {$mail->ErrorInfo}";
}
5.5. Python
Python hỗ trợ SMTP sẵn qua thư viện chuẩn smtplib, không cần cài thêm gì:
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email import encoders
# Cấu hình
SMTP_HOST = 'ema-smtp.zozo.vn'
SMTP_PORT = 587
SMTP_USER = 'email_dang_ky@congty.com' # Email đăng ký Zozo EMA
SMTP_PASS = 'API_TOKEN_CUA_BAN' # API Token
# Tạo email
msg = MIMEMultipart()
msg['From'] = 'Tên Công Ty '
msg['To'] = 'nguoinhan@example.com'
msg['Cc'] = 'cc1@example.com,cc2@example.com'
msg['Subject'] = 'Thông báo từ Python'
msg['Reply-To'] = 'hotro@congty.com'
# Nội dung HTML
html = 'Xin chào!
Email gửi từ Python qua Zozo EMA.
'
msg.attach(MIMEText(html, 'html', 'utf-8'))
# Đính kèm file (tùy chọn)
with open('/path/to/tailieu.pdf', 'rb') as f:
attachment = MIMEBase('application', 'octet-stream')
attachment.set_payload(f.read())
encoders.encode_base64(attachment)
attachment.add_header(
'Content-Disposition',
'attachment',
filename='TaiLieu.pdf'
)
msg.attach(attachment)
# Gửi
all_recipients = ['nguoinhan@example.com', 'cc1@example.com', 'cc2@example.com']
with smtplib.SMTP(SMTP_HOST, SMTP_PORT) as server:
server.login(SMTP_USER, SMTP_PASS)
server.sendmail(SMTP_USER, all_recipients, msg.as_string())
print('Gửi thành công!')
5.6. Go (Golang)
Go hỗ trợ SMTP qua package chuẩn net/smtp:
package main
import (
"fmt"
"net/smtp"
"strings"
)
func main() {
// Cấu hình
host := "ema-smtp.zozo.vn"
port := "587"
user := "email_dang_ky@congty.com" // Email đăng ký Zozo EMA
pass := "API_TOKEN_CUA_BAN" // API Token
// Email
from := "email_dang_ky@congty.com"
to := []string{"nguoinhan@example.com"}
cc := []string{"cc1@example.com", "cc2@example.com"}
// Nội dung
subject := "Thông báo từ Go"
htmlBody := "Xin chào!
Email gửi từ Go qua Zozo EMA.
"
// Build MIME message
var msg strings.Builder
msg.WriteString("From: Tên Công Ty <" + from + ">\r\n")
msg.WriteString("To: " + strings.Join(to, ",") + "\r\n")
msg.WriteString("Cc: " + strings.Join(cc, ",") + "\r\n")
msg.WriteString("Subject: " + subject + "\r\n")
msg.WriteString("MIME-Version: 1.0\r\n")
msg.WriteString("Content-Type: text/html; charset=UTF-8\r\n")
msg.WriteString("\r\n")
msg.WriteString(htmlBody)
// Tất cả người nhận
allRecipients := append(to, cc...)
// Gửi
auth := smtp.PlainAuth("", user, pass, host)
err := smtp.SendMail(host+":"+port, auth, from, allRecipients, []byte(msg.String()))
if err != nil {
fmt.Println("Lỗi:", err)
return
}
fmt.Println("Gửi thành công!")
}
5.7. Laravel
Chỉ cần sửa file .env của project Laravel:
MAIL_MAILER=smtp
MAIL_HOST=ema-smtp.zozo.vn
MAIL_PORT=587
MAIL_USERNAME=email_dang_ky@congty.com
MAIL_PASSWORD=API_TOKEN_CUA_BAN
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=email_dang_ky@congty.com
MAIL_FROM_NAME="Tên Công Ty"
Gửi email trong code Laravel:
use Illuminate\Support\Facades\Mail;
use Illuminate\Mail\Message;
Mail::raw('Nội dung email', function (Message $message) {
$message->to('nguoinhan@example.com')
->cc(['cc1@example.com', 'cc2@example.com'])
->bcc('bcc@example.com')
->subject('Email từ Laravel qua Zozo EMA');
});
5.8. OpenCart
Vào System → Settings → chọn Store → tab Mail:
- Mail Protocol:
SMTP - SMTP Hostname:
ema-smtp.zozo.vn - SMTP Port:
587 - SMTP Username:
email_dang_ky@congty.com - SMTP Password:
API_TOKEN_CUA_BAN - SMTP Timeout:
30
6. Lưu ý quan trọng
- From Name bắt buộc — Luôn cấu hình tên người gửi (From Name). Nếu không có, hệ thống sẽ tự lấy phần trước @ của email làm tên.
- Không cần TLS/SSL — Kết nối SMTP hiện tại không yêu cầu mã hóa. Nếu ứng dụng bắt buộc chọn, hãy chọn "None" hoặc "No encryption".
- Giới hạn gửi — Rate limit mặc định 60 email/phút. Liên hệ Zozo EMA nếu cần nâng giới hạn.
- Kích thước tối đa — Email + đính kèm tối đa 25MB.
- Bảo mật API Token — Không chia sẻ API Token công khai. Nếu nghi ngờ bị lộ, vào Zozo EMA nhấn "Làm mới Token" để tạo token mới.
7. Xử lý lỗi thường gặp
| Lỗi | Nguyên nhân | Cách khắc phục |
|---|---|---|
535 Auth failed |
Sai email hoặc API Token | Kiểm tra lại Username (email) và Password (API Token) trên Zozo EMA |
550 API 422 |
Thiếu trường bắt buộc | Đảm bảo có From Name, To, Subject và nội dung email |
452 Too many messages |
Vượt giới hạn gửi | Giảm tốc độ gửi hoặc liên hệ nâng rate limit |
| Connection timeout | Không kết nối được server | Kiểm tra firewall cho phép kết nối ra port 587 |
| Connection refused | Server SMTP không hoạt động | Liên hệ bộ phận kỹ thuật Zozo EMA |
8. Hỗ trợ
Nếu cần hỗ trợ kỹ thuật trong quá trình tích hợp:
- Tài liệu API: https://appv4.zozo.vn/frontend/docs/api/v1
- Website: https://zozo.vn
Chia sẻ:
Bạn có câu hỏi cần giải đáp
Gửi ngay câu hỏi cho chúng tôi để nhận được những tư vấn, giải đáp hữu ích nhất
