- MailCatcher là công cụ chạy một máy chủ SMTP đơn giản và hiển thị email nhận được qua giao diện web.
- Có thể cấu hình để gửi thư tới smtp://127.0.0.1:1025 và kiểm tra thư đã nhận tại http://127.0.0.1:1080.
- Tính năng chính
- Nhận và lưu tất cả email, đồng thời hiển thị phiên bản HTML, văn bản thuần và mã nguồn.
- Viết lại HTML để hình ảnh nhúng và liên kết có thể mở trong cửa sổ mới.
- Cung cấp danh sách tệp đính kèm và hỗ trợ tải xuống từng tệp.
- Có thể tải email gốc xuống để xem trong ứng dụng email mặc định.
- Có thể thay đổi cấu hình IP và cổng SMTP/HTTP mặc định thông qua tùy chọn dòng lệnh.
- Trên các trình duyệt hỗ trợ WebSockets, email sẽ xuất hiện ngay lập tức; nếu không, giao diện sẽ được cập nhật mỗi 30 giây.
- Có thể chạy dưới dạng daemon ở chế độ nền hoặc chạy ở chế độ foreground.
- Cung cấp
catchmail, một lệnh tương tự sendmail giúp việc sử dụng trong PHP thuận tiện hơn.
- Hỗ trợ điều hướng bằng bàn phím giữa các thư.
- Cài đặt và cách dùng
- Có thể cài bằng lệnh
gem install mailcatcher và chạy bằng lệnh mailcatcher.
- Gửi thư tới smtp://127.0.0.1:1025 và kiểm tra tại http://127.0.0.1:1080.
- Có thể xem các tùy chọn dòng lệnh bằng
mailcatcher --help.
- Bundler và RVM
- Khuyến nghị không thêm MailCatcher vào Gemfile, mà ghi cách sử dụng trong README.
- Nếu dùng RVM, nên cài vào một gemset riêng để tránh xung đột gem.
- Cấu hình Rails và PHP
- Trong Rails, thêm cấu hình SMTP vào
environments/development.rb để sử dụng.
- Trong PHP, thiết lập
sendmail_path trong php.ini hoặc cấu hình Apache để sử dụng.
- Cấu hình Django
- Trong Django, thêm cấu hình email vào
settings.py để sử dụng.
- API
- Có thể tải danh sách thư ở định dạng JSON thông qua lược đồ URL RESTful.
- Lưu ý
- Chức năng xử lý thư ở mức cơ bản và có thể chỉnh sửa khi cần.
- Chưa hỗ trợ hoàn hảo mã hóa UTF-8, vì vậy có thể cần dùng thư viện email phù hợp.
- Kế hoạch sắp tới
- Bổ sung tính năng gửi thư theo yêu cầu.
- Kiểm thử khả năng tương thích với hướng dẫn thiết kế và ma trận hỗ trợ CSS của CampaignMonitor.
1 bình luận
Ý kiến trên Hacker News
Công cụ này hữu ích nhưng đã ngừng được bảo trì. MailHog cũng vậy. MailPit, MailCrab, smtp4dev là những lựa chọn thay thế hiện đại
Người bảo trì hiện không làm nhiều việc. Vì công cụ này đã hoàn thiện. Vẫn còn nhiều chỗ có thể cải thiện, nhưng không nâng cấp lớn về tính năng. Khi có vấn đề phát sinh thì sẽ sửa
Mailpit được viết bằng Go, chạy dưới dạng một static binary duy nhất và dùng rất ít tài nguyên. Đang được bảo trì tích cực
Đang tìm một công cụ tương tự để bắt các tin nhắn SMS trong môi trường phát triển cục bộ. Công ty đang dùng Mailtrap làm công cụ xem trước email và đang tìm một công cụ tương tự cho các tin nhắn SMS gửi qua Twilio. Đã từng có dự án Twilio Dev Phone nhưng hiện cũng đã ngừng được bảo trì
Công cụ này dành cho phát triển và đã ở trạng thái hoàn thiện. Trong vòng 1 năm gần đây vẫn có hoạt động trên Git. Nếu một tính năng cụ thể là quan trọng, có thể gửi pull request hoặc cân nhắc tài trợ cho việc phát triển
Gần đây mới bắt đầu dùng smtp4dev. Vấn đề “mailtrap” cho phát triển cục bộ theo tôi là bài toán đã được giải quyết. Chỉ mất 15 phút và 10 dòng code để thêm vào file Docker-compose, và nó hoạt động tốt. Việc thiết lập dịch vụ qua Docker/Podman rất dễ
Đang dùng Mailcatcher để phát triển ứng dụng Rails và nó rất dễ dùng. Tôi không nghĩ mình cần thứ gì khác. Cảm ơn @sj26 và các cộng tác viên
Trước đây đã dùng MailCatcher, nhưng gặp vấn đề khi chuyển sang máy Arm. Hiện đang dùng Mailpit và việc cấu hình phức tạp hơn. Có vẻ MailCatcher đã khắc phục vấn đề Arm nên có thể sẽ chuyển lại
Đã dùng smtp-sink từ lâu, nhưng cả nhóm thích công cụ GUI hơn CLI nên đã tìm đến Mailcatcher. Nó ổn định và hoạt động tốt
$ smtp-sink -u nobody -R /tmp/smtp-sink -d "maildir/%Y-%m-%d/mail.%H.%M." 127.0.0.1:25 1024Mục đích sử dụng phổ biến của các công cụ này là kiểm thử những ứng dụng khác có gửi email. Tò mò không biết còn có cách dùng nào khác không