Listmonk với Email chuyển tiếp để gửi bản tin an toàn
Tổng quan về
Hướng dẫn này cung cấp cho các nhà phát triển hướng dẫn từng bước để thiết lập Listmonk, một trình quản lý danh sách gửi thư và bản tin nguồn mở mạnh mẽ, để sử dụng Chuyển tiếp Email làm nhà cung cấp SMTP. Sự kết hợp này cho phép bạn quản lý các chiến dịch hiệu quả, đồng thời đảm bảo việc gửi email an toàn, riêng tư và đáng tin cậy.
- Listmonk: Xử lý việc quản lý người đăng ký, sắp xếp danh sách, tạo chiến dịch và theo dõi hiệu suất.
- Chuyển tiếp Email: Hoạt động như máy chủ SMTP an toàn, xử lý việc gửi email thực tế với các tính năng bảo mật tích hợp như SPF, DKIM, DMARC và mã hóa TLS.
Bằng cách tích hợp hai yếu tố này, bạn vẫn giữ được toàn quyền kiểm soát dữ liệu và cơ sở hạ tầng của mình đồng thời tận dụng hệ thống phân phối mạnh mẽ của Forward Email.
Tại sao nên sử dụng Listmonk và Chuyển tiếp Email
- Mã nguồn mở: Cả Listmonk và các nguyên tắc đằng sau Forward Email đều nhấn mạnh tính minh bạch và khả năng kiểm soát. Bạn tự lưu trữ Listmonk và sở hữu dữ liệu của mình.
- Tập trung vào quyền riêng tư: Forward Email được xây dựng với trọng tâm là quyền riêng tư, giảm thiểu lưu trữ dữ liệu và tập trung vào việc truyền tải an toàn.
- Tiết kiệm chi phí: Listmonk miễn phí, và Forward Email cung cấp nhiều gói miễn phí và gói trả phí với giá cả phải chăng, khiến đây trở thành một giải pháp tiết kiệm chi phí.
- Khả năng mở rộng: Listmonk có hiệu suất cao và cơ sở hạ tầng của Forward Email được thiết kế để phân phối đáng tin cậy ở quy mô lớn.
- Thân thiện với nhà phát triển: Listmonk cung cấp API mạnh mẽ và Forward Email cung cấp tích hợp SMTP và webhook đơn giản.
Điều kiện tiên quyết
Trước khi bắt đầu, hãy đảm bảo bạn có những điều sau:
- Máy chủ riêng ảo (VPS) chạy bản phân phối Linux mới nhất (khuyến nghị Ubuntu 20.04 trở lên) với ít nhất 1 CPU và 1GB RAM (khuyến nghị 2GB).
- Cần nhà cung cấp? Hãy xem danh sách VPS được đề xuất.
- Tên miền do bạn kiểm soát (cần quyền truy cập DNS).
- Tài khoản đang hoạt động với Chuyển tiếp Email.
- Quyền truy cập root hoặc
sudo
vào VPS của bạn. - Nắm vững các thao tác dòng lệnh Linux cơ bản.
Cài đặt
Các bước sau đây sẽ hướng dẫn bạn cài đặt Listmonk bằng Docker và Docker Compose trên VPS của bạn.
1. Cập nhật máy chủ của bạn
Đảm bảo danh sách gói của hệ thống và các gói đã cài đặt được cập nhật.
sudo apt update && sudo apt upgrade -y
2. Cài đặt các phụ thuộc
Cài đặt Docker, Docker Compose và UFW (Tường lửa đơn giản).
sudo apt install -y docker.io docker-compose ufw
3. Tải xuống Cấu hình Listmonk
Tạo thư mục cho Listmonk và tải xuống tệp docker-compose.yml
chính thức.
mkdir listmonk && cd listmonk
curl -Lo docker-compose.yml https://raw.githubusercontent.com/knadh/listmonk/master/docker-compose.yml
Tệp này định nghĩa vùng chứa ứng dụng Listmonk và vùng chứa cơ sở dữ liệu PostgreSQL cần thiết.
4. Cấu hình Tường lửa (UFW)
Cho phép lưu lượng truy cập thiết yếu (SSH, HTTP, HTTPS) đi qua tường lửa. Nếu SSH của bạn chạy trên cổng không chuẩn, hãy điều chỉnh cho phù hợp.
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw enable
Xác nhận bật tường lửa khi được nhắc.
5. Cấu hình quyền truy cập HTTPS
Chạy Listmonk qua HTTPS rất quan trọng đối với bảo mật. Bạn có hai lựa chọn chính:
Tùy chọn A: Sử dụng Proxy Cloudflare (Khuyến nghị vì tính đơn giản)
Nếu DNS của tên miền của bạn được quản lý bởi Cloudflare, bạn có thể tận dụng tính năng proxy của họ để dễ dàng sử dụng HTTPS.
- Trỏ DNS: Tạo bản ghi
A
trong Cloudflare cho tên miền phụ Listmonk của bạn (ví dụ:listmonk.yourdomain.com
) trỏ đến địa chỉ IP VPS của bạn. Đảm bảo Trạng thái proxy được đặt thành Đã ủy quyền (đám mây màu cam). - Sửa đổi Docker Compose: Chỉnh sửa tệp
docker-compose.yml
mà bạn đã tải xuống:
sed -i 's/9000:9000/80:9000/' docker-compose.yml
Thao tác này cho phép Listmonk có thể truy cập nội bộ trên cổng 80, sau đó Cloudflare có thể ủy quyền và bảo mật bằng HTTPS.
Tùy chọn B: Sử dụng Proxy ngược (Nginx, Caddy, v.v.)
Ngoài ra, bạn có thể thiết lập proxy ngược như Nginx hoặc Caddy trên VPS của mình để xử lý việc chấm dứt HTTPS và yêu cầu proxy tới Listmonk (chạy trên cổng 9000 theo mặc định).
- Giữ nguyên
ports: - "127.0.0.1:9000:9000"
mặc định trongdocker-compose.yml
để đảm bảo Listmonk chỉ có thể truy cập cục bộ. - Cấu hình proxy ngược bạn đã chọn để lắng nghe trên các cổng 80 và 443, xử lý việc lấy chứng chỉ SSL (ví dụ: thông qua Let's Encrypt) và chuyển tiếp lưu lượng đến
http://127.0.0.1:9000
. - Hướng dẫn này không đề cập chi tiết về thiết lập proxy ngược, nhưng có nhiều hướng dẫn trực tuyến.
6. Khởi động Listmonk
Quay lại thư mục listmonk
(nếu bạn chưa vào đó) và khởi động các vùng chứa ở chế độ tách rời.
cd ~/listmonk # Or the directory where you saved docker-compose.yml
docker compose up -d
Docker sẽ tải xuống các hình ảnh cần thiết và khởi động ứng dụng Listmonk cùng các container cơ sở dữ liệu. Lần đầu tiên có thể mất khoảng một hoặc hai phút.
✅ Truy cập Listmonk: Bây giờ bạn có thể truy cập giao diện web Listmonk thông qua tên miền bạn đã cấu hình (ví dụ: https://listmonk.yourdomain.com
).
7. Cấu hình Chuyển tiếp Email SMTP trong Listmonk
Tiếp theo, hãy cấu hình Listmonk để gửi email bằng tài khoản Forward Email của bạn.
- Bật SMTP trong Forward Email: Đảm bảo bạn đã tạo thông tin đăng nhập SMTP trong bảng điều khiển tài khoản Forward Email. Nếu chưa, hãy làm theo hướng dẫn Hướng dẫn chuyển tiếp email để gửi email với tên miền tùy chỉnh qua SMTP.
- Cấu hình Listmonk: Đăng nhập vào bảng quản trị Listmonk của bạn.
-
Điều hướng đến Cài đặt -> SMTP.
-
Listmonk có hỗ trợ tích hợp cho tính năng Chuyển tiếp Email. Chọn Chuyển tiếp Email từ danh sách nhà cung cấp hoặc nhập thủ công các thông tin sau:
Cài đặt | Giá trị |
---|---|
Chủ nhà | smtp.forwardemail.net |
Cảng | 465 |
Giao thức xác thực | LOGIN |
Tên người dùng | Email chuyển tiếp của bạn Tên người dùng SMTP |
Mật khẩu | Email chuyển tiếp của bạn Mật khẩu SMTP |
TLS | SSL/TLS |
Từ email | Địa chỉ From mong muốn của bạn (ví dụ: newsletter@yourdomain.com ). Đảm bảo tên miền này được cấu hình trong Forward Email. |
-
Quan trọng: Luôn sử dụng Cổng
465
vớiSSL/TLS
cho các kết nối an toàn với Chuyển tiếp Email. Không sử dụng STARTTLS (cổng 587). -
Nhấp vào Lưu.
- Gửi Email Thử nghiệm: Sử dụng nút "Gửi Email Thử nghiệm" trong trang cài đặt SMTP. Nhập địa chỉ người nhận mà bạn có thể truy cập và nhấp vào Gửi. Xác minh rằng email đã đến hộp thư đến của người nhận.
8. Cấu hình Xử lý trả lại
Xử lý thư trả lại cho phép Listmonk tự động xử lý các email không thể gửi được (ví dụ: do địa chỉ không hợp lệ). Chuyển tiếp Email cung cấp một webhook để thông báo cho Listmonk về các email trả lại.
Chuyển tiếp thiết lập email
- Đăng nhập vào Bảng điều khiển chuyển tiếp email của bạn.
- Điều hướng đến Tên miền, chọn tên miền bạn đang sử dụng để gửi và đi đến trang Cài đặt của tên miền đó.
- Cuộn xuống phần URL Webhook trả lại.
- Nhập URL sau, thay thế
<your_listmonk_domain>
bằng tên miền hoặc tên miền phụ thực tế mà phiên bản Listmonk của bạn có thể truy cập:
https://<your_listmonk_domain>/webhooks/service/forwardemail
Ví dụ: https://listmonk.yourdomain.com/webhooks/service/forwardemail
5. Cuộn xuống phần Khóa Xác minh Tải trọng Chữ ký Webhook.
6. Sao chép khóa xác minh đã tạo. Bạn sẽ cần khóa này trong Listmonk.
7. Lưu các thay đổi trong cài đặt tên miền Email Chuyển tiếp của bạn.
Thiết lập Listmonk
- Trong bảng quản trị Listmonk, hãy điều hướng đến Cài đặt -> Thư trả lại.
- Bật Bật xử lý thư trả lại.
- Bật Bật webhook trả lại.
- Cuộn xuống phần Nhà cung cấp Webhook.
- Bật Chuyển tiếp Email.
- Dán Khóa Xác minh Tải trọng Chữ ký Webhook mà bạn đã sao chép từ bảng điều khiển Chuyển tiếp Email vào trường Khóa Chuyển tiếp Email.
- Nhấp vào Lưu ở cuối trang.
- Xử lý thư trả lại hiện đã được cấu hình! Khi Chuyển tiếp Email phát hiện thư trả lại cho email do Listmonk gửi, nó sẽ thông báo cho phiên bản Listmonk của bạn thông qua webhook và Listmonk sẽ đánh dấu người đăng ký tương ứng.
- Hoàn thành các bước bên dưới trong Kiểm tra để đảm bảo mọi thứ hoạt động bình thường.
Kiểm tra
Sau đây là tổng quan nhanh về các chức năng cốt lõi của Listmonk:
Tạo danh sách gửi thư
- Vào Danh sách trong thanh bên.
- Nhấp vào Danh sách mới.
- Điền thông tin chi tiết (Tên, Loại: Công khai/Riêng tư, Mô tả, Thẻ) và Lưu.
Thêm người đăng ký
- Điều hướng đến phần Người đăng ký.
- Bạn có thể thêm người đăng ký:
- Thủ công: Nhấp vào Người đăng ký mới.
- Nhập: Nhấp vào Nhập Người đăng ký để tải lên tệp CSV.
- API: Sử dụng API Listmonk để thêm theo chương trình.
- Chỉ định người đăng ký vào một hoặc nhiều danh sách trong quá trình tạo hoặc nhập.
- Thực hành tốt nhất: Sử dụng quy trình xác nhận kép. Cấu hình quy trình này trong Cài đặt -> Xác nhận & Đăng ký.
Tạo và gửi chiến dịch
- Vào Chiến dịch -> Chiến dịch mới.
- Điền thông tin chi tiết về chiến dịch (Tên, Chủ đề, Email người gửi, Danh sách gửi đến).
- Chọn loại nội dung (Văn bản đa dạng thức/HTML, Văn bản thuần túy, HTML thô).
- Soạn nội dung email. Bạn có thể sử dụng các biến mẫu như
{{ .Subscriber.Email }}
hoặc{{ .Subscriber.FirstName }}
. - Luôn gửi email thử nghiệm trước! Sử dụng tùy chọn "Gửi thử nghiệm" để xem trước email trong hộp thư đến của bạn.
- Sau khi hoàn tất, hãy nhấp vào Bắt đầu Chiến dịch để gửi ngay hoặc lên lịch gửi sau.
Xác minh
- Giao hàng SMTP: Thường xuyên gửi email thử nghiệm qua trang cài đặt SMTP của Listmonk và thử nghiệm các chiến dịch để đảm bảo email được gửi chính xác.
- Xử lý thư trả lại: Gửi một chiến dịch thử nghiệm đến một địa chỉ email không hợp lệ đã biết (ví dụ:
bounce-test@yourdomain.com
nếu bạn không có email thật, mặc dù kết quả có thể khác nhau). Kiểm tra số liệu thống kê chiến dịch trong Listmonk sau một thời gian ngắn để xem thư trả lại có được ghi nhận hay không. - Tiêu đề Email: Sử dụng các công cụ như Kiểm tra thư hoặc kiểm tra thủ công tiêu đề email để xác minh SPF, DKIM và DMARC đang được chuyển tiếp, cho biết thiết lập chính xác thông qua Chuyển tiếp Email.
- Nhật ký Chuyển tiếp Email: Kiểm tra nhật ký bảng điều khiển Chuyển tiếp Email của bạn nếu bạn nghi ngờ sự cố gửi thư bắt nguồn từ máy chủ SMTP.
Ghi chú của nhà phát triển
- Tạo mẫu: Listmonk sử dụng công cụ tạo mẫu của Go. Khám phá tài liệu hướng dẫn để cá nhân hóa nâng cao:
{{ .Subscriber.Attribs.your_custom_field }}
. - API: Listmonk cung cấp một REST API toàn diện để quản lý danh sách, người đăng ký, chiến dịch, mẫu, v.v. Tìm liên kết tài liệu API trong phần chân trang của phiên bản Listmonk của bạn.
- Trường tùy chỉnh: Xác định các trường người đăng ký tùy chỉnh trong Cài đặt -> Trường người đăng ký để lưu trữ dữ liệu bổ sung.
- Webhooks: Bên cạnh các phản hồi, Listmonk có thể gửi webhooks cho các sự kiện khác (ví dụ: đăng ký), cho phép tích hợp với các hệ thống khác.
Kết luận
Bằng cách tích hợp sức mạnh tự lưu trữ của Listmonk với khả năng phân phối email an toàn, tôn trọng quyền riêng tư của Forward Email, bạn tạo ra một nền tảng tiếp thị qua email mạnh mẽ và có đạo đức. Bạn giữ toàn quyền sở hữu dữ liệu đối tượng của mình, đồng thời được hưởng lợi từ khả năng phân phối cao và các tính năng bảo mật tự động.
Thiết lập này cung cấp một giải pháp thay thế có khả năng mở rộng, tiết kiệm chi phí và thân thiện với nhà phát triển cho các dịch vụ email độc quyền, hoàn toàn phù hợp với tinh thần của phần mềm nguồn mở và quyền riêng tư của người dùng.
Chúc bạn gửi thư vui vẻ! 🚀