Tôi đang viết một ứng dụng web cần nhận thư e-mail đến địa chỉ email nội bộ của người dùng, cho phép quản trị viên phê duyệt và sau đó chuyển tiếp tới hộp thư bên ngoài của người dùng tương ứng.Đã nhận được tin nhắn bưu điện
Tôi đã cài đặt và định cấu hình postfix cho tác vụ nhận thư. Nó sử dụng địa chỉ e-mail ảo và cơ sở dữ liệu hiện tại của tôi nơi lưu trữ địa chỉ email của người dùng. Lưu trữ email cục bộ là maildir và tôi sử dụng MDA ảo của postfix.
Về cơ bản, tôi muốn thực thi tập lệnh mỗi khi nhận được thư mới và người dùng nào (id thư maildir cũng sẽ rất hữu ích). Sau đó, tôi có thể đọc tin nhắn từ mã python (python đã có một mô-đun cho các hộp thư maildir) và chèn nó vào cơ sở dữ liệu. tôi có thể nghĩ ra ba cách để làm điều này: maildirs dùng
- lặp và kiểm tra nếu có bất kỳ tin nhắn mới, nhưng nó sẽ không có hiệu quả cho số lượng lớn người dùng.
- sử dụng dbmail và sau đó kiểm tra xem có bất kỳ thư mới nào trong cơ sở dữ liệu hay không (điều này sẽ nhanh hơn, nhưng tôi phải cấu hình mọi thứ từ đầu). Bên cạnh đó, các bảng dữ liệu người dùng hiện tại không thể được sử dụng.
- viết trình bao bọc xung quanh maildrop/virtual để lưu thư trong db và trong maildir, nhưng tôi cần một cách để kiểm tra xem thư đã nhận có hợp lệ và được lưu thành công theo MDA thực không.
Bất kỳ đề xuất nào được đánh giá cao!
Đây sẽ là cách tiếp cận tốt đẹp, nhưng tôi đang sử dụng cơ chế chuyển tiếp ảo. – fest