Listmonk với Forward Email để phân phối bản tin an toàn
Tổng quan
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 Danh sáchMonk, một bản tin mã nguồn mở mạnh mẽ và trình quản lý danh sách gửi thư, để sử dụng Chuyển tiếp email là nhà cung cấp SMTP của bạn. Sự kết hợp này cho phép bạn quản lý các chiến dịch của mình một cá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.
- Danh sáchMonk: Xử lý việc quản lý người đăng ký, tổ chức 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ư mã hóa SPF, DKIM, DMARC và TLS.
Bằng cách tích hợp cả hai, bạn vẫn giữ được quyền kiểm soát hoàn toàn đối với 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 Listmonk và Forward 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à kiểm soát. Bạn tự lưu trữ Listmonk, 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 mục tiêu bảo mật là cốt lõi, giảm thiểu việc lưu giữ dữ liệu và tập trung vào việc truyền tải an toàn.
- Hiệu quả về chi phí:Listmonk miễn phí và Forward Email cung cấp nhiều gói miễn phí và gói trả phí giá cả phải chăng, khiến đây trở thành giải pháp tiết kiệm.
- 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à webhooks đơ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 một nhà cung cấp? Kiểm tra danh sách VPS được đề xuất.
- Tên miền do bạn kiểm soát (cần có quyền truy cập DNS).
- Một tài khoản đang hoạt động với Chuyển tiếp email.
- Gốc hoặc
sudo
truy cập vào VPS của bạn. - Có hiểu biết cơ bản về các thao tác dòng lệnh của Linux.
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 một thư mục cho Listmonk và tải xuống bản chính thức docker-compose.yml
tài liệu.
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) 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 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 Cloudflare Proxy (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.
- Điểm DNS: Tạo một
A
ghi lại 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 thiết lập để Được ủy quyền (đám mây màu cam). - Sửa đổi Docker Compose: Chỉnh sửa
docker-compose.yml
tập tin bạn đã tải xuống:
Điều này giú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.sed -i 's/9000:9000/80:9000/' docker-compose.yml
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 mặc định
ports: - "127.0.0.1:9000:9000"
TRONGdocker-compose.yml
để đảm bảo Listmonk chỉ có thể truy cập được ở cấp độ cục bộ. - Cấu hình proxy ngược đã chọn của bạn để lắng nghe trên các cổng 80 và 443, xử lý việc thu thập 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 đến cách thiết lập proxy ngược, nhưng có rất nhiều hướng dẫn có sẵn trực tuyến.
6. Bắt đầu Listmonk
Quay lại trang của bạn listmonk
thư mục (nếu bạn chưa vào đó) và khởi động các container ở chế độ tách biệt.
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 và các container cơ sở dữ liệu. Có thể mất một hoặc hai phút vào lần đầu tiên.
✅ Truy cập Listmonk: Bây giờ bạn có thể truy cập vào 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 Forward 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 Chuyển tiếp Email: Đảm bảo bạn đã tạo thông tin xác thực SMTP trong bảng điều khiển tài khoản Email chuyển tiếp của mình. Thực hiện theo Hướng dẫn chuyển tiếp email để gửi email với tên miền tùy chỉnh qua SMTP nếu bạn chưa làm như vậy.
- 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 Chuyển tiếp Email. Chọn Chuyển tiếpEmail từ danh sách nhà cung cấp hoặc nhập thủ công các thông tin chi tiết sau:
Cài đặt Giá trị Chủ nhà smtp.forwardemail.net
Cảng 465
Giao thức xác thực LOGIN
tên tài khoản 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ừ e-mail Mong muốn của bạn From
địa chỉ (ví dụ:newsletter@yourdomain.com
). Đảm bảo tên miền này được cấu hình trong Chuyển tiếp Email. -
Quan trọng: Luôn sử dụng Port
465
vớiSSL/TLS
để kết nối an toàn với Forward Email. Không sử dụng STARTTLS (cổng 587). -
Nhấp chuột Cứu.
-
- Gửi Email Kiểm Tra: 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ý Bounce
Xử lý 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ệ). Forward Email cung cấp một webhook để thông báo cho Listmonk về các email trả lại.
Thiết lập chuyển tiếp email
- Đăng nhập vào tài khoản của bạn Bảng điều khiển chuyển tiếp email.
- Đ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 tên miền đó Cài đặt trang.
- Cuộn xuống URL Webhook trả lại phần.
- Nhập URL sau, thay thế
<your_listmonk_domain>
với 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 được:
Ví dụ:https://<your_listmonk_domain>/webhooks/service/forwardemail
https://listmonk.yourdomain.com/webhooks/service/forwardemail
- Cuộn xuống xa hơn nữa Khóa xác minh tải trọng chữ ký Webhook phần.
- Sao chép khóa xác minh đã tạo. Bạn sẽ cần khóa này trong Listmonk.
- 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 của bạn, hãy điều hướng đến Cài đặt -> Bounces.
- Cho phép Bật xử lý trả lại.
- Cho phép Bật webhook trả lại.
- Cuộn xuống Nhà cung cấp Webhook phần.
- Cho phép Chuyển tiếp email.
- Dán Khóa xác minh tải trọng chữ ký Webhook bạn đã sao chép từ bảng điều khiển Chuyển tiếp Email vào Chuyển tiếp khóa Email cánh đồng.
- Nhấp chuột Cứu ở cuối trang.
- Xử lý trả lại hiện đã được cấu hình! Khi Forward Email phát hiện email trả lại do Listmonk gửi, nó sẽ thông báo cho phiên bản Listmonk của bạn qua webhook và Listmonk sẽ đánh dấu người đăng ký theo đó.
- Hoàn thành các bước dưới đây trong Kiểm tra để đảm bảo mọi thứ đều hoạt độ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ư
- Đi đến Danh sách trong thanh bên.
- Nhấp chuột 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à Cứu.
Thêm người đăng ký
- Điều hướng đến Người đăng ký phần.
- Bạn có thể thêm người đăng ký:
- Thủ công: Nhấp chuột Người đăng ký mới.
- Nhập khẩu: Nhấp chuột Nhập thuê bao để tải lên tệp CSV.
- API: Sử dụng API Listmonk để bổ sung 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 chọn tham gia kép. Cấu hình điều này trong Cài đặt -> Chọn tham gia & Đăng ký.
Tạo và Gửi Chiến dịch
- Đi đến 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 gửi, Danh sách gửi đến).
- Chọn loại nội dung của bạn (Văn bản có định dạng/HTML, Văn bản thuần túy, HTML thô).
- Soạn nội dung email của bạn. 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ử" để xem trước email trong hộp thư đến của bạn.
- Khi đã hài lòng, hãy nhấp vào Bắt đầu chiến dịch để gửi ngay lập tức 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ý nảy: Gửi 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ó sẵn dữ liệu thực 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 liệu có ghi nhận được sự thoát hay không. - Tiêu đề Email: Sử dụng các công cụ như Kiểm tra thư hoặc kiểm tra tiêu đề email theo cách thủ công để xác minh SPF, DKIM và DMARC có được thông qua hay không, cho biết thiết lập chính xác thông qua Chuyển tiếp Email.
- Chuyển tiếp Nhật ký Email: Kiểm tra nhật ký bảng điều khiển Chuyển tiếp Email nếu bạn nghi ngờ sự cố gửi thư xuất phát từ máy chủ SMTP.
Ghi chú của nhà phát triển
- Mẫu: Listmonk sử dụng công cụ tạo mẫu của Go. Khám phá tài liệu của nó để cá nhân hóa nâng cao:
{{ .Subscriber.Attribs.your_custom_field }}
. - API: Listmonk cung cấp 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 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 thuê bao tùy chỉnh bên dưới Cài đặt -> Trường thuê bao để lưu trữ dữ liệu bổ sung.
- Webhook:Ngoài việc trả lại, Listmonk có thể gửi webhook 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.
Phần 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 dịch vụ phân phối bảo mật, 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 duy trì quyền sở hữu hoàn toàn đối với dữ liệu đối tượng của mình trong khi vẫn đượ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 vui vẻ! 🚀