Mavericks + Server.app + getmail (oh my!)


1

Tôi có máy chủ Mac mini với OS X Mavericks 10.9.1 và Server.app v3.0 được cài đặt. IMAP (dovecot) đang chạy và có thể truy cập từ ứng dụng Thư khách.

Điều tôi muốn là để máy chủ tìm nạp email từ các tài khoản email khác nhau của tôi và "đổ" chúng vào máy chủ IMAP.

Trước đây tôi đã có thể làm điều này trên Linux bằng cách sử dụng getmail để tìm nạp các email, sẽ gửi email qua procmail, sẽ gửi chúng trực tiếp vào thư mục Maildir dovecotđọc.

Thật không may, quá trình trên sẽ không hoạt động với Server.app v3.0, vì rõ ràng các /Library/Server/Mail/Data/mail/*thư mục phải được sở hữu_dovecot , điều đó có nghĩa là Người dùng ngẫu nhiên Joe không thể viết thư cho họ, quy định procmail / v.v.

Có một cách dễ dàng (-ish) để có được một quy trình công việc tương tự, để Máy chủ lấy email và thêm chúng vào máy chủ IMAP cục bộ không?

Còn lọc phía máy chủ thì sao? Làm thế nào mà có thể được thiết lập?


Bạn đã thử sử dụng ACL để vượt qua giới hạn mà các thư mục phải được sở hữu _dovecotchưa? (xem techrepublic.com/blog/apple-in-the-enterprise/ từ )
jaume

Câu trả lời:


1

Có một cách dễ dàng (-ish) để có được một quy trình công việc tương tự, để Máy chủ lấy email và thêm chúng vào máy chủ IMAP cục bộ không?

Điều quan trọng là sử dụng dovecot-ldachương trình ( lda cho Local Delivery Agent), có thể viết tin nhắn vào máy chủ IMAP.

Ví dụ: nếu sử dụng getmail, bạn có thể cung cấp một [destination]phần gọi dovecot-lda:

[destination]
type      = MDA_external
path      = /Applications/Server.app/Contents/ServerRoot/usr/libexec/dovecot/dovecot-lda 
arguments = ("-d", "USERNAME")
allow_root_commands = True

Lưu ý rằng allow_root_commandsđược yêu cầu bởi vì getmailsẽ cần phải được chạy như root để gọi dovecot-lda.

Ngoài ra: Đường dẫn cho dovecot-ldađược chỉ định trong tệp cấu hình postfix /Library/Server/Mail/Config/postfix/master.cf:

dovecot   unix  -       n       n       -       25      pipe
  flags=DRhu user=_dovecot:mail argv=/Applications/Server.app/Contents/ServerRoot/usr/libexec/dovecot/dovecot-lda -d ${user}

Còn lọc phía máy chủ thì sao? Làm thế nào mà có thể được thiết lập?

Dovecot được cấu hình để sử dụng Sàng ( /Library/Server/Mail/Config/dovecot/conf.d/90-sieve.conf). Các quy tắc sàng được lưu trữ trong /Library/Server/Mail/Data/rules/%u/dovecot.sieve(xem /Library/Server/Mail/Config/dovecot/conf.d/90-sieve.conf), điều không may là không dễ viết.

Để cài đặt các quy tắc Sàng bổ sung, hãy sử dụng trình chỉnh sửa Sàng, ví dụ: Sàng khách . Lưu ý rằng bạn cần sử dụng đúng cổng (Server.app mặc định là cổng 4190; xem /Library/Server/Mail/Config/dovecot/conf.d/20-managesieve.conf).

Thật không may, sau khi dành quá nhiều thời gian để cố gắng thực hiện công việc này, tôi đã từ bỏ việc sử dụng một máy khách Sàng.

Nếu bạn đã root, hãy tạo một .sievetệp (xác minh cú pháp với sievec), sau đó sao chép vào /Library/Server/Mail/Data/rules/%u/dovecot.sieve. Lưu ý: %ulà GUID của người dùng, không phải tên người dùng của họ (nghĩa là /Library/Server/Mail/Data/mail/%uphải tồn tại) và /Library/Server/Mail/Data/rules/%uphải có quyền 775 ( mailngười dùng có thể ghi ).

Nếu bạn không root ... hãy root và xem ở trên.

Khi quy tắc Sàng được đặt đúng chỗ, /Library/Logs/Mail/mail-info.logsẽ chứa một dòng tương tự như:

mail-info.log:Feb 13 17:14:52 lda(pid 6108 user USERNAME-NOT-GUID): Info: sieve: msgid=<whatever...>: ...
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.