2012-10-10 40 views
6

Vui lòng cho tôi giải pháp tốt nhất để lưu trữ tất cả thư (gửi, nhận, chuyển tiếp) trong mysql với postfix? và Đây có phải là cách tiếp cận chính xác không?cách tốt nhất để lưu trữ thư trong DB (postfix)

+1

Bạn đang tìm kiếm giản đồ? – Dev

+0

có, tôi đang tìm kiếm lược đồ tốt nhất. – superuser

+0

dbmail có phải là thứ bạn đang tìm kiếm không? – ThorSummoner

Trả lời

9

Máy chủ hậu tố không tự lưu trữ email (ít nhất là trong một thời gian dài) - nó chỉ có thể tạm thời xếp hàng cho đến khi nó được chuyển tiếp tới người nhận dự định. Thông thường chỉ các máy chủ IMAP (hoặc lỗi thời POP3) mới thực sự lưu trữ email của bạn.

Hầu hết các máy chủ IMAP nguồn mở (Courier, Cyrus, Dovecot ...) đều hỗ trợ sử dụng MySQL làm cơ sở dữ liệu để giữ thông tin meta như danh sách người dùng và mật khẩu, danh sách tên miền được chấp nhận, bí danh người dùng, v.v. thậm chí cố gắng tận dụng cơ sở dữ liệu như MySQL như là phần phụ trợ lưu trữ thực tế.

Tất nhiên, nếu bạn thực sự cảm thấy mạo hiểm, bạn có thể thử triển khai SQL IMAP phụ trợ của riêng bạn. Một trong những cân nhắc quan trọng nhất đối với bạn sẽ là sự hỗ trợ tốt về chiều dài không giới hạn VARCHAR hoặc BLOB (đối với tệp đính kèm email) bằng công cụ cơ sở dữ liệu. Thật không may, MySQL không phải là máy chủ rất tốt như xa như hỗ trợ BLOB đi (bạn sẽ phải tinh chỉnh cả khách hàng và máy chủ cấu hình cho điều đó). Ngoài ra, bạn có thể muốn có hỗ trợ giao dịch tốt - nếu bạn quan tâm đến sự an toàn của dữ liệu email của bạn. Đối với MySQL có nghĩa là bạn phải sử dụng công cụ InnoDB.

+1

Tôi nghĩ rằng câu trả lời của bạn là sai trong một số phần. Nếu chúng ta nói về thư đi hàng đợi là chính xác. nhưng thư đến postfix sẽ lưu trữ email vào hệ thống tệp. từ đó máy chủ imap/pop sẽ chọn chúng. lưu trữ được thực hiện ở định dạng mbox thường được đặt tại/var/spool/mail/[username] –

+0

@BerndOtt: Tôi chưa bao giờ nói rằng các thư lưu trữ postfix trong cơ sở dữ liệu, hoàn toàn ngược lại: "không ai cố gắng sử dụng cơ sở dữ liệu dưới dạng bộ nhớ lưu trữ thực tế" . Tôi chỉ nói rằng danh sách người dùng hoặc bí danh có thể được lưu trữ trong db. – mvp

+1

Đây là câu trả lời sai lầm ... được chấp nhận và sai đồng đều ... Bạn nên nghiên cứu cách nó thực sự hoạt động và chỉnh sửa câu trả lời của bạn. –

2

Bạn có thể thử trên https://wiki.ubuntu.com/PostfixCompleteVirtualMailSystemHowto Thư, miền và người dùng ảo bằng mysql và postfix.

+1

Liên kết bạn cung cấp không thực sự lưu trữ email gửi hoặc nhận vào mysql, theo yêu cầu. Chỉ người dùng ảo và tên miền mới được lưu vào mysql. Nội dung email vẫn được lưu trong hệ thống tệp. – gadjou

Các vấn đề liên quan