Chuyển tới nội dung chính
Version: 4.1

Tương đương webmail (Community và Enterprise)

Webmail của Community và webmail của Enterprise (HiTechCloud Webmail, mô-đun webmail, cây webmail/ của kho hitechcloudmail, được cài bởi hitechcloudcli webmail) là hai ứng dụng khác nhau. Quy tắc của chủ sở hữu cho cặp này là vô điều kiện: Enterprise là tập cha. Bất cứ thứ gì webmail của Community mang lại cho người dùng cuối, webmail của Enterprise cũng phải mang lại — một tài khoản nâng cấp từ Community không được thấy thiếu bất kỳ thứ gì.

Trang này là bản rà soát khoảng trống theo quy tắc đó: những gì một bản cài mặc định của webmail Community mang lại cho người dùng cuối (bản thân phần mềm thư, cộng với các thiết lập người dùng dựa vào hằng ngày), đối chiếu với những gì thực sự được triển khai trong mã nguồn của hitechcloudmail/webmail — không giả định, không suy ra từ tên của tính năng, mà đọc trong mã. Bảng được cập nhật bởi người đóng một khoảng trống: đóng một khoảng trống sẽ đổi kết luận và cột "nằm ở đâu" của nó trong cùng thay đổi đóng khoảng trống đó.

Tóm tắt​

Kết luậnSố lượng
Có17
Một phần2
Thiếu2
Tổng số mục đã rà soát21

Bảng​

MụcWebmail của CommunityWebmail của Enterprise (HiTechCloud Webmail)Kết luậnNằm ở đâu / cần gì
Quản lý thư mục — tạo, đổi tên, dọn sạchCóCóCóhitechcloudmail/webmail/backend/src/routes/mail.js (POST /folders, /folders/rename, /folders/empty), backend/src/routes/accounts.js (GET /:id/folders)
Quản lý thư mục — đăng ký/huỷ đăng kýCó (IMAP SUBSCRIBE thực sự)Chỉ ẩn/hiện (tuỳ chọn phía máy khách, không phải đăng ký IMAP)Một phầnfrontend/src/components/Sidebar.jsx (folderMenu.hide/unhide). SUBSCRIBE/UNSUBSCRIBE IMAP thực sự chỉ có ý nghĩa với một phần mềm IMAP khác dùng chung hộp thư — ưu tiên thấp hơn các mục bên dưới, để mở
Danh tính kèm chữ ký (văn bản thường và HTML)CóCóCóBảng account_aliases (reply_to, bcc, signature) cùng cột signature riêng của tài khoản chính; frontend/src/components/SignatureEditor.jsx, frontend/src/components/AdminPanel.jsx (tab Accounts); chữ ký HTML đi qua services/emailSanitizer.js
Sổ địa chỉ / danh bạ, có nhómCóCóCóCác bảng contacts, address_books, contact_groups, contact_group_members; backend/src/services/contactGroups.js; frontend/src/components/ContactsPage.jsx (chip lọc theo nhóm, bật/tắt nhóm cho từng liên hệ)
Nhập và xuất danh bạ (vCard / CSV)CóCóCóbackend/src/routes/contacts.js (GET /export, POST /import), backend/src/utils/vcard.js, backend/src/utils/csv.js
Tìm kiếm thư, kể cả trong thư mục được chọn và theo headerCóCóCóbackend/src/routes/search.js (parseSearchQuery): các toán tử from:, to:, subject:, has:, is:, after:, before:, in:<folder> cộng với văn bản tự do
Gom luồng và sắp xếpCóCóCóbackend/src/routes/mail.js (hộp thư đến gom theo luồng, threadId); thứ tự sắp xếp danh sách trong frontend/src/store/index.js
Bộ lọc / SieveCó (do chính máy chủ thư thực thi, nên vẫn chạy khi phần mềm đóng)Chỉ là bộ máy quy tắc trong ứng dụng — chạy khi tiến trình riêng của webmail đang thăm dò hộp thưMột phầnbackend/src/routes/rules.js, backend/src/services/inboxRules.js, backend/src/services/ruleForwarder.js. Tương đương thực sự cần thực thi Sieve phía máy chủ (ManageSieve), vốn thuộc về máy chủ thư (Dovecot/Postfix), không nằm trong kho này — được đánh dấu cho một vòng tiếp theo trong phạm vi mô-đun thư của hitechcloudcli
Vắng mặt / trả lời tự độngCóKhôngThiếuKhông có route, dịch vụ hay giao diện nào. Cùng phụ thuộc như Sieve ở trên: cần hạ tầng ở cấp MTA/ManageSieve nằm ngoài kho này
Kiểm tra chính tảCó (sẵn trong trình duyệt)Có (sẵn trong trình duyệt)CóVùng contenteditable của trình soạn thư (frontend/src/components/ComposeModal.jsx) dùng trình kiểm tra chính tả của chính trình duyệt, cùng cơ chế mà hầu hết phần mềm webmail dựa vào
Tuỳ chọn danh sách thư (bố cục, khung xem trước, kích thước trang)CóCóCófrontend/src/layouts.js, frontend/src/components/AdminPanel.jsx (tab Appearance › Layout), tuỳ chọn mailflow_page_size
Tuỳ chọn soạn thư (mặc định HTML/văn bản thường, trích dẫn khi trả lời, chuyển tiếp dạng tệp đính kèm, lưu vào thư đã gửi, tự lưu bản nháp)CóCóCóTuỳ chọn plaintextEmail; trả lời luôn trích dẫn thư gốc; chuyển tiếp giữ nguyên tệp đính kèm gốc; theo dõi sentCopySaved trong backend/src/services/outboundMail.js; frontend/src/utils/draftAutosave.js
Xử lý tệp đính kèm và ảnh nội tuyếnCóCóCóĐường soạn/xem thư cốt lõi trong toàn bộ backend/src/routes/mail.js và send.js, và frontend/src/utils/inlineImages.js
Phím tắtCó (bộ cố định)Có (tuỳ chỉnh được)Cófrontend/src/utils/defaultShortcuts.js, frontend/src/utils/shortcutBus.js, tab Settings › Shortcuts
InCóCóCóhandlePrint trong frontend/src/components/MessagePane.jsx
Mã nguồn thư ("view source" / "show original")CóCóCóGET /api/mail/messages/:id/source (backend/src/routes/mail.js, imapManager.fetchRawSource); truy cập từ thanh công cụ thư, menu "more" trên di động và menu chuột phải
Cách đánh dấu đã đọcCó (ngay lập tức / trễ khi mở / thủ công, cấu hình được)Có, cùng ba chế độCóCác tuỳ chọn markReadBehavior / markReadDelay, frontend/src/utils/gtd.js
Xoá vào thùng rác và xoá vĩnh viễnCóCóCóXoá thông thường chuyển thư vào Trash; làm trống thư mục hoặc xoá hàng loạt từ Trash/Junk sẽ xoá vĩnh viễn — backend/src/routes/mail.js
Ngôn ngữ giao diệnCóCó (10 ngôn ngữ)Cófrontend/src/locales/*.json, Settings › Appearance › Fonts and Language
Múi giờ hiển thị ngày của thưCóCóCóTuỳ chọn mới "Display timezone" (vòng này): frontend/src/utils/formatDate.js, Settings › Appearance › Fonts and Language
Đổi mật khẩu hộp thưCóKhôngThiếuTiến trình backend của webmail chạy không đặc quyền và chỉ giao tiếp qua IMAP và cơ sở dữ liệu riêng của nó — nó không có cách nào đổi mật khẩu hệ thống/Dovecot. Cần một công cụ phụ đặc quyền ở cấp hệ thống nằm ngoài kho này (ứng viên: một lệnh trong mô-đun thư của hitechcloudcli mà trang cài đặt có thể gọi)
Reply-To / Bcc theo từng danh tínhCóCó, trên mọi danh tính trừ danh tính chính (cùng phạm vi mà trường Reply-To hiện có đã có)Cóaccount_aliases.reply_to / account_aliases.bcc, áp dụng lúc gửi trong backend/src/services/outboundMail.js (resolveIdentity, mergeIdentityBcc)
Bố cục đáp ứng / di độngCóCóCófrontend/src/hooks/useMobile.js và các nhánh riêng cho di động trong toàn bộ frontend/src/components/; vỏ ứng dụng di động/máy tính gốc trong frontend/packages/

Những gì được chuyển từ Community, và bằng cách nào​

Dữ liệu phiên bản Community của một hộp thư (danh bạ, nhóm liên hệ, danh tính người gửi và chữ ký của chúng, và ngôn ngữ giao diện) được sao chép — không bao giờ di chuyển — sang dữ liệu Enterprise của nó ở lần đầu hộp thư đó đăng nhập vào webmail của Enterprise trên máy chủ mà cơ sở dữ liệu phần mềm thư của Community vẫn truy cập được. Cơ sở dữ liệu riêng của Community không bao giờ bị ghi: khách hàng quay lại webmail của Community sẽ thấy nó y như lúc rời đi. Việc nhập có tính idempotent (bỏ qua mọi thứ đã có ở đây, so khớp theo địa chỉ), chạy tối đa một lần cho mỗi hộp thư, ghi nhật ký những gì đã làm, và không bao giờ chặn hay làm thất bại lần đăng nhập mà nó chạy kèm.

Xem hitechcloudmail/backend/src/services/legacyImport.js. Nó chỉ kích hoạt khi LEGACY_WEBMAIL_DB_URL được đặt trong môi trường của dịch vụ đó — việc nối biến môi trường đó từ nơi trình cài Community ghi lại kết nối cơ sở dữ liệu của nó là công việc tiếp theo cho vòng trình cài đặt, không phải vòng này.

Những gì còn để mở, và vì sao​

  • Đổi mật khẩu hộp thư và bộ lọc Sieve phía máy chủ / trả lời vắng mặt khi ngoại tuyến đều cần thứ gì đó nằm ngoài tiến trình riêng của hitechcloudmail: một công cụ phụ hệ thống có đặc quyền cho mục đầu, cơ chế thực thi của máy chủ thư (ManageSieve) cho mục sau. Cả hai được đánh dấu ở trên thay vì xây dựng ở đây, để khoảng trống được nhìn thấy thay vì bị âm thầm chấp nhận.
  • Đăng ký thư mục thực sự ở cấp IMAP là khoảng trống nhỏ hơn: webmail của Enterprise đã cung cấp cho người dùng của nó một tính năng tương đương (ẩn/hiện), và sự khác biệt chỉ xuất hiện với một phần mềm IMAP thứ hai dùng chung hộp thư.
Trang này có hữu ích không?