DWPlatform Tutorials

DWMail — Complete User Guide

DWMail is the platform’s Outlook-class client that unifies two things in one app: everyday email and formal government correspondence. This guide covers every screen, every option and every selection — from reading and writing mail to the official-correspondence workflow and every settings page. Labels are shown in English with the Arabic in (أقواس) where relevant (the app defaults to Arabic/RTL and follows the platform’s language).

Where it lives. Open DWMail from the platform rail/launcher (route /app/dwmail). It embeds in the workspace and inherits the tenant’s brand, theme and language.

1 · The layout — three panes

DWMail is a resizable three-pane workspace: the Folder pane (your mailboxes & folders), the Conversation list (messages in the selected folder), and the Reading pane (the open message). Drag the dividers to resize; the folder pane can be collapsed from the top bar. On a phone it becomes a single column (list → tap a message → reading, with a Back (رجوع) button; folders open in a drawer).

DWMail three-pane inbox
The inbox. Folder pane · Conversation list · Reading pane. If the connection drops, a slim “Connection lost — reconnecting…” (انقطع الاتصال — تجري إعادة المحاولة…) bar appears; mail updates arrive live over a WebSocket.

2 · Top bar & search

ControlWhat it does
Folder-pane toggle (إظهار/إخفاء قائمة المجلدات)Collapse/expand the folder pane (on phones it opens the folders drawer).
Search mail… (البحث في البريد…)Searches the current folder’s messages on the server. Typing is debounced ~300 ms; changing folder clears it.
New message (رسالة جديدة)Opens the composer (see §8).
Settings (الإعدادات) (gear)Opens Settings (see §11).
Language / ThemeOnly shown when DWMail runs standalone; when embedded, the platform shell drives language, theme and brand.

3 · Folders & accounts

Your personal mailbox is listed first, then any department mailboxes you belong to (each a collapsible section). Every account has the same five folders:

Inbox الوارد Sent الصادر Drafts المسودات Archive الأرشيف Follow-up المتابعة
  • Folders with unread mail show a count badge; the personal account header shows total unread.
  • Department accounts show a distribution-mode badge: Shared inbox (بريد مشترك) — one shared queue that members claim/assign; Fan-out (توزيع فردي) — copied to each member; Shared + notify (مشترك مع تنبيه).
  • Your own folders (مجلداتي) — below the five system folders, a personal My folders group. Use + New folder (مجلد جديد) to add one and the hover delete to remove it. File any message into a folder from the reading-pane Move to folder action or the list’s Move to bulk button; opening a folder lists exactly the messages you filed there.

4 · The message list

Each row shows the sender, the date (time today, “d MMM” this year, else full date), the subject (with a thread count like “(3)” when it’s a conversation), and a preview. Icons/badges: an unread dot, a paperclip for attachments, an Urgent (عاجل) badge, and — on shared inboxes — a claim badge (Unclaimed or the claimer’s name). The list is virtualized and loads more as you scroll (“Loading more…”).

Conversation list (Drafts folder)
The Drafts folder. Rows show sender, subject, date and preview. Opening a draft reopens the composer.

Selecting & bulk actions

Hover a row to reveal its checkbox; selecting one or more replaces the header with a toolbar “{n} selected” ({{count}} محدد) offering (folder-dependent):

Bulk actionArabicWhen shown
Mark as read / unreadتعليم كمقروء / غير مقروءAny folder
ArchiveأرشفةInbox / Follow-up
Unarchiveإلغاء الأرشفةArchive
Flag / remove follow-upإضافة/إزالة المتابعةNot in Sent
Clear selectionإلغاء التحديدAlways

On a shared department inbox, a filter row also appears: All / Unclaimed / Assigned to me (الكل / غير مُسند / المُسندة إليّ).

5 · Reading a message — the ribbon

Open a message to see the Outlook-style command ribbon. Buttons are grouped; on narrow screens extra groups collapse into a “…” overflow menu.

GroupButtonWhat it does
Respond
الرد
Reply (رد)Composer prefilled to the sender, subject “رد: …”.
Reply all (رد للكل)To = sender + original recipients, Cc kept.
Forward (إعادة توجيه)Empty recipient, subject “إعادة توجيه: …”.
Actions
إجراءات
Print (طباعة)Prints a watermarked server PDF (via a hidden frame — not the raw page).
Archive (أرشفة)Archives the message and returns to the list.
Tags
وسوم
Follow-up (متابعة)Jumps to the Tasks tab where the follow-up flag lives.
Categorize (تصنيف)Opens the categories dialog: tick coloured categories on/off for this message, create a new one (name + colour swatch), or manage/delete. Assigned categories show as coloured chips in the reading-pane header and on the conversation-list rows.
Move to folder (نقل إلى مجلد)Files the open message into one of your folders (or back to Inbox) and returns to the list.
Window
نافذة
Open in window (فتح في نافذة)Pops the message out into a separate reading window (/read/{id}).

Below the ribbon: the subject (with an Urgent badge if urgent), the From / To / Cc parties, the send time, and — on shared inboxes — the claim banner (§7).

6 · The message tabs

TabArabicShows
MessageالرسالةThe body. If it’s a Word document, an “Open in editor” button opens it in the in-browser editor (Collabora). A Thread section lists earlier messages in the conversation.
CorrespondenceالمراسلةThe official-correspondence details — classification, incoming/outgoing numbers, notes, hardcopy receipt, and the Approvals panel (§10).
Attachments (n)المرفقاتEach attachment with its size and a Download (تنزيل) button (access-checked).
HistoryالسجلThe action & routing history of the conversation.
TasksالمهامFollow-up flag + linked tasks (§9).

7 · Claim & assign (shared inboxes)

On a department shared inbox, the reading pane shows a claim banner so two people never work the same item:

  • Unclaimed (غير مستلمة) → a Claim (استلام) button takes it.
  • Claimed by you → a Release (إلغاء الاستلام) button hands it back.
  • Claimed by someone else → shows their name; a department item offers Assign to me (إسنادها إليّ).

8 · Writing a message — the composer

Click New message (or Reply/Forward). The composer is a dialog with its own ribbon; drafts auto-save as you type. Every control:

DWMail composer with all options
The composer. Ribbon (Send · Schedule send · Save & close · Attach file · Urgent · Correspondence options — with extra actions such as Open in window tucked into the overflow “…” menu), To/Cc, Subject, the HTML/Word editor switch, and the rich-text toolbar.
ControlOptions / behavior
To (إلى)Type to search the directory — results are grouped Departments / People / External contacts. Enter picks the first match; each recipient becomes a removable chip. If you have the external-send permission, typing a raw email address offers an “Add external” chip so you can address people outside the organization (see below).
Cc (نسخة) / Bcc (نسخة مخفية)The Cc and Bcc buttons each reveal an extra recipient picker. Bcc recipients receive the message but are hidden from everyone else. A name may sit in only one of To/Cc/Bcc at a time.
Subject (الموضوع)Free text (auto-direction for Arabic/English).
Editor typeSwitch between HTML editor (محرر HTML) and Word document (مستند Word) (a Collabora letter/DOCX). Switching warns that content isn’t converted.
Rich-text toolbarBold, Italic, Underline, Highlight · Heading 1/2 · Bullet & Numbered lists · Align start/center/end/justify · Insert / remove link.
Attach file (إرفاق ملف)Ribbon button; each file uploads with a progress bar and can be removed.
Urgent (عاجل)Toggles the urgent flag (shows a red Urgent badge to recipients).
Correspondence options (خيارات المراسلة)Opens a panel: Classification (None / Low / Medium / High), Requires approval (routes through manager review before send), Notes, and a collapsible Hard copy sub-form (registrar name/number, establishment, received-by, receipt date).
Send (إرسال)Requires at least one recipient. On success it confirms and shows the assigned outgoing number.
Schedule send (جدولة الإرسال)Pick a future date & time; the message stays a draft and is sent automatically when due. A banner shows the pending time with a Cancel schedule option. Scheduling an external message needs the same external-send permission.
Save & close (حفظ وإغلاق)Saves the draft. Closing the dialog also saves silently.
Open in window (فتح في نافذة)In the ribbon’s overflow “…” menu. Pops the draft out into its own standalone window — a full-window composer with no inbox behind it and no dialog (route /compose/{account}/{folder}). The draft is saved first so both windows stay in sync. See “Open in window (pop-out)”, below.
External send is permission-gated. Only users granted the external-send permission (roles ExternalSendingOffice, Director or Admin, plus platform SuperAdmin) can address recipients outside the organization; for everyone else the composer hides the “Add external” option and the server refuses an external send (or schedule) with a clear message. The signature picker is still managed in Settings (§11a), not the composer.

Open in window (pop-out)

Need more room, or want to keep a message open while you work in the inbox? The ribbon’s overflow “…” menu has Open in window (فتح في نافذة). It saves the draft, then reopens it as a full-window composer of its own — the three-pane inbox is not behind it and there is no modal dialog, so the whole window is yours for writing. Closing that window (or Send / Save & close) returns you as usual, and the draft is kept in sync between the two.

Open in window in the ribbon overflow menu
Where it lives. Ribbon → “…” → Window ▸ Open in window. (When the composer is narrow, actions collapse into this overflow menu.)
The popped-out standalone compose window
The popped-out window. A standalone, full-window composer titled Edit draft — no inbox, no modal chrome. The same ribbon and Correspondence options as inside the app.

9 · Follow-up & tasks

The Tasks tab turns a message into action:

  • Flag for follow-up (وضع علامة للمتابعة) — toggle a follow-up flag and optionally set a follow-up date (the “remind me” mechanism). The flagged item appears in the Follow-up folder.
  • Add a task (إضافة مهمة) — title, an optional Due date, and an Assignee (search the directory). Tasks flow into the platform-wide My Work inbox.
  • Each task row has a complete/reopen checkbox and a delete button.

10 · Official correspondence

DWMail is also the government-correspondence system. A message linked to a correspondence shows the Correspondence tab with:

FieldDetail
Classification (التصنيف)Low / Medium / High — colored badge (green/amber/red).
Incoming / Outgoing number & dateThe registered numbers (رقم الوارد/الصادر) — each is copyable.
Notes (ملاحظات)Internal notes on the correspondence.
Hardcopy receipt (إيصال النسخة الورقية)Registrar name/number, establishment, received-by, receipt date.
Correspondence options and Hard copy fields in the composer
The same fields, on the compose side. Classification, “Requires approval”, Notes, and the Hard copy provenance: Registrar name/number, Establishment (who sent it), Received-by and Receipt date.
Registering a received paper letter? The step-by-step, field-by-field walkthrough — and the key point that you are the recipient while the Establishment field records who sent it — is on the Mail Pipeline page.

The approvals workflow

The Approvals (الاعتمادات) panel drives the review chain. Its status badge reads Pending / Approved / Rejected / Returned, and lists each approver’s decision + comment. When it’s your turn, a “Your review” (مراجعتك) box gives an optional comment and three buttons: Approve (اعتماد), Reject (رفض), Return (إرجاع).

The desk pipeline. Incoming official documents flow Receive Desk → Review Desk → Secretary Desk (register → review/recommend → final approval, sign/stamp & archive), with an optional manager-review detour. See the Business Workflows page for the full diagram and who does each step.

11 · Settings

Open Settings from the gear. A side menu lists every section. All are live; the admin-only sections (Department inbox, Number series, Mail administration) show their controls to administrators and a short notice to everyone else.

DWMail settings
Settings. Signatures · Rules · Accounts · Department inbox · Number series · Notifications · Outlook / mail clients · Mail administration.

11a · Signatures (التوقيعات)

New signature opens an editor with a Name, a rich-text Content, and a Set as default checkbox. Each saved signature can be set default, edited, or deleted.

Signatures settings
Signatures. Create signatures to append to your messages.
Insert a signature while composing. The composer has a Signature (التوقيع) button (next to the editor-type switch): pick any of your signatures to append it to the message body. On a brand-new blank message your default signature is appended automatically (once) — never on replies/forwards or a draft that already has content.

11b · Rules (القواعد)

Automatic sorting of incoming mail. A rule has a name, an Enabled toggle, one or more conditions (When) and one or more actions (Then):

  • Condition — field: From / Subject / Has attachment; operator: contains / equals; a value.
  • Action — Move to folder (+ folder name) / Mark as read / Flag.
  • Rules can be reordered (move up/down) and enabled/disabled inline.
Rules settings
Rules. Conditions (When) → Actions (Then).
Rules run automatically. When new mail is delivered, the rule engine evaluates your enabled rules in order and applies their actions (move to a folder, mark read, flag) — no manual step. Disable a rule to pause it without deleting it.

11c · Accounts (الحسابات)

A read-only list of the mailboxes available to you — personal and department — with each account’s kind, its distribution mode, and unread count. Accounts follow your org membership (they can’t be added/removed here).

Accounts settings
Accounts. Your mailboxes and their distribution modes.

11d · Department inbox (إدارة صندوق القسم) — admin

Administrators configure, per department, how mail addressed to the department is delivered. Each department card sets:

  • Mode — Shared inbox (one queue members claim/assign) · Fan-out (a copy to every member) · Shared + notify (shared, but everyone is alerted).
  • Claim required — in shared mode, an item must be claimed before someone works it.
  • Visibility — All members, or Role-gated to specific service roles (comma-separated).
  • Auto-number inbound email — issue an incoming number automatically for email delivered to the department.

Departments without a saved config default to Shared inbox. Use Add department config to configure one by department id. (Non-admins see a short notice instead of the controls.)

11e · Number series (تسلسل الأرقام) — admin

Administrators review and tune the outgoing-number sequences (see §13 for how numbering works). The table lists each series (its key, department and year) with the current last number read-only, and lets you edit the prefix, suffix and minimum digits and Save. The counter value itself isn’t hand-edited, so history stays auditable.

11f · Notifications (الإشعارات)

A single Desktop notifications (تنبيهات سطح المكتب) switch — show a browser notification when new mail arrives while the window is in the background (asks the OS for permission; warns if blocked). In-app notifications always appear and need no permission.

Notifications settings
Notifications. Control how you’re alerted when new mail arrives.

11g · Outlook / mail clients (البريد على أوت لوك)

Connect your mailbox to Outlook or any IMAP/POP3/SMTP client. This page:

  • shows your mailbox address (copyable);
  • Generate app password (إنشاء كلمة مرور للتطبيق) — creates a client credential shown once (copy it; “Ends in {last4}”);
  • lists server settings per protocol — IMAP (recommended) / POP3 incoming and SMTP outgoing — with Server, Port, Encryption, Username, Password rows (each copyable, plus Copy all settings);
  • a numbered “Set it up in Outlook” walkthrough built from your real values.
Outlook / mail clients settings
Mail clients. App password + IMAP/POP3/SMTP server settings + an Outlook setup walkthrough.

11h · Mail administration (إدارة البريد) — operator only

The platform operator manages the tenant’s mail here:

  • Domains (النطاقات) — add a mail domain, choose the outbound mode (Direct delivery / Via smarthost / Hold offline), toggle Inbound enabled, and mark a default domain.
  • Generate DKIM key (توليد مفتاح DKIM) — produces the TXT DNS record (name, value, selector) to publish so outbound mail is signed.
  • Sync addresses (مزامنة العناوين) — creates person/department mailbox addresses from the org directory (reports how many of each were created).
Mail administration settings
Mail administration. Domains, DKIM keys, and address sync (operator only).

11i · Delegation (التفويض)

Photo walkthrough: the dedicated Delegation guide shows the whole flow as real screenshots — granting, the new-delegation dialog, and the colleague accepting.

Found in the settings side menu right after Rules. Delegation is platform-wide: one delegation, managed here, covers your person-assigned work across the services you choose — DWMail approvals and WorkFlow requests assigned to you (and more as services adopt it):

  • New delegation (تفويض جديد) — pick the colleague (directory search), the services (All services (كل الخدمات) or specific ones: Mail, WorkFlow, KPIS, Calendar, News, Drive), the start and end date-times, and an optional note.
  • Signing authority is a separate, explicit opt-in (يشمل صلاحية التوقيع بالنيابة) — default off. When enabled, the delegate may perform signature-required WorkFlow actions, signing with their own uploaded signature; the stamped block reads «التوقيع: فلان — بالنيابة عن فلان». The delegator’s signature image is never used. Without this opt-in, signature actions refuse with a clear “this delegation doesn’t include signing” message.
  • Chat is deliberately excluded — delegating personal conversations is impersonation, not delegation.
  • Acceptance is required — the colleague sees it under “received” and must Accept (قبول) before it activates (or Decline (رفض)). No one is given responsibility silently.
  • While active, the delegate sees Approve / Reject / Return buttons on the delegator’s pending approvals, with an “on behalf of” (بالنيابة عن) badge — and the audit trail records the actual person who acted. Identity is never impersonated; only eligibility is delegated.
  • Ends automatically at the end time; either side can revoke / end it earlier at any moment.
  • Overlapping delegations to the same person are refused, and you cannot delegate to yourself.
What delegation does NOT cover (by design): reading the delegator’s personal mailbox. Team continuity for mail itself comes from the department shared inbox (§11d) — delegation covers the person-locked part: approvals. If an approval is stuck and no delegation was arranged, an Admin can reassign or cancel it (see §12).

12 · Roles, permissions & capabilities

Most of DWMail is open to any signed-in user, but a few actions are capability-gated — either by a service role on the DWMail (Mail) module, by membership of a department mailbox, or by the operator (platform) level. This table is the single reference for “who can do what, and how to grant it.”

CapabilityWho can do itGranted by
Read / write ordinary mail, reply, forward, follow-up, tasks, categories, personal foldersEvery signed-in user (for their own & their department mailboxes)Nothing to grant — available to all.
Send to EXTERNAL recipients (الإرسال لجهات خارجية) — raw email addresses / external contacts, and scheduling an external sendSuperAdmin, or a user whose DWMail service role is ExternalSendingOffice, Director or AdminAssign the Mail service role to the user (see “How to grant a role” below). Enforced server-side on both send and schedule; unprivileged users don’t even see the option.
Manage a message’s participants, delete others’ attachments, edit/complete others’ actions, reply on any threadThe item’s sender, or a user with mail role Admin or ManagerAssign the Admin / Manager mail role.
Claim / assign items in a shared department inboxAny member of that department mailboxAdd the user to the department mailbox (Mail administration → mailboxes / department setup).
Official-correspondence pipeline — register incoming, review, finalize/sign/stamp/archiveThe three desk roles: ReceiveDesk (register), ReviewDesk (review/recommend), SecretaryDesk (finalize, assign number, sign & stamp, archive); plus OfficeManager for the manager-review pathAssign the matching desk/office role to the user (see below). See §10 for the workflow — and, for a plain-language explanation of how items move, who sees what, and what happens when someone is away, read the Mail Pipeline guide.
Apply a signing action (stamp a signature block onto the DOCX)Any user in a signing stage who has uploaded an e-signatureThe user uploads their signature in Settings → Signatures (§11a); without one, signing actions are blocked.
Delegate my authority (التفويض) — let a colleague act on my approvals while I’m awayAny user may create a delegation; the delegate must accept it before it becomes activeSelf-service: Settings → Delegation (§11i). Time-bound (start–end), revocable by either side, and every action taken is stamped “on behalf of”.
Unblock a stuck approval — reassign or cancel a pending approval addressed to an unavailable personAdmin (mail role) / SuperAdminAdmin approvals console (API: list pending → reassign to another user, or cancel). The safety valve when no delegation was arranged in advance.
Mail administration (إدارة البريد) — mail domains, mailboxes, number-series configuration, deploymentOperator / SuperAdmin onlyPlatform-operator capability; the page (§11h) appears only for them and only where the mail-server backend is enabled.

How external send is decided (the permission model)

External send is treated as a controlled capability (spam / data-exfiltration risk), so the server never trusts the browser — the client only hides the option, the API enforces it. On every send and every schedule the service asks one question, CanSendExternal(user), and returns 403 with a clear Arabic message if the answer is no and the message actually has an external recipient (all-internal messages are never blocked):

  CanSendExternal(user) = TRUE if ANY of:
     • the user is a platform SuperAdmin            (claim  is_superadmin = true)
     • the user’s DWMail role is one of:            ExternalSendingOffice · Director · Admin
       (read from the token claim  role:DWPlatform.Mail  — i.e. the Mail service role)
  otherwise FALSE  →  external chip hidden in the composer, and API returns 403 on send/schedule
  • The composer calls GET /api/v7/mail/me/capabilities on open; if canSendExternal is false it never offers the “Add external” chip and shows an internal-only picker.
  • The server re-checks the same rule inside the send pipeline and inside schedule-send, so the gate can’t be bypassed by calling the API directly or by scheduling instead of sending.
  • “All users or selected ones?” — both models are supported: give the role to everyone who should send outward, or to a single mail office / director so all outbound external mail funnels through them.

How to grant a DWMail role (step by step)

Photo walkthrough available: the Setting Roles guide shows every one of these steps as a real screenshot — the Users page, the change-role dialog, the user’s Roles card and the assign-role dialog — plus what each granted role unlocks.

DWMail roles are ordinary service roles on the Mail module. An administrator assigns them per user in the platform’s user management; the role is minted into the user’s token as a role:DWPlatform.Mail claim on their next sign-in.

  1. Open the platform’s user management (Identity / People administration, in the shell’s admin area).
  2. Find and open the target user.
  3. Go to their roles / service roles and pick the DWMail (Mail) service.
  4. Choose the capability role — e.g. ExternalSendingOffice (external send), Director, Admin, Manager, or a desk role (ReceiveDesk / ReviewDesk / SecretaryDesk / OfficeManager) — and save.
  5. Ask the user to sign out and back in (or refresh their session) so the new claim is issued.
SuperAdmin shortcut. A platform SuperAdmin implicitly has every capability (including external send) with no per-module role needed — useful for demos, but grant real users the specific role in production rather than SuperAdmin.

13 · Numbering & sequences

Formal correspondence is auditable, so every item carries reference numbers. DWMail issues them from per-department, per-year counters that can never hand out a duplicate — even if two people send at the exact same moment (each number is taken with a single atomic database increment).

NumberWhen & how it’s set
Outgoing number (رقم صادر)Auto-assigned on send / finalize of an outbound item — you don’t type it. Format OUT-{department}-{year}-{00001}: a prefix, then a 5-digit zero-padded counter (e.g. OUT-3-2026-00042). The counter is scoped to the sender’s department and the year, so each department has its own clean sequence that resets every year. If the sender has no department it falls back to a general series (OUT-{year}-…). On success the composer shows the assigned number.
Incoming number (رقم وارد)Entered manually by the registrar when an inbound document is registered — it’s the reference the other party printed on the paper you received, so the system records it as given rather than generating it.
Manual overrideAn outgoing number may be supplied explicitly (e.g. to match a pre-printed form); if provided, DWMail uses it verbatim instead of drawing from the series.
  • First use auto-creates the series — a department’s counter is seeded (starting at 1) the first time it sends that year; nothing to pre-configure.
  • No gaps from concurrency, no duplicates — the counter is incremented atomically, so parallel senders each get the next distinct number.
  • Tenant-isolated — series are per-tenant, so one customer’s numbering never touches another’s.
  • Administrators can review and tune each series’ prefix / suffix / digit-width in Number series (§11e); the counter itself is never hand-edited.

14 · Feature status — everything is live

This build has no “coming soon” features. Everything described in this guide is implemented and running. The capabilities added in the 2026-07-22 pass:

Bcc ✓ Scheduled send ✓ Categories ✓ Custom folders ✓ External send (gated) ✓ Signatures + composer picker ✓ Rules (auto-run) ✓ Department-inbox admin ✓ Number-series admin ✓ DOCX letters (Collabora) ✓ Print (watermarked PDF) ✓ Approvals ✓ Accounts ✓ Mail clients (IMAP/POP3/SMTP + app passwords) ✓ Mail administration (domains/DKIM/sync) ✓

Admin-only pages (Department inbox, Number series, Mail administration) show their controls to administrators and a brief notice to everyone else — that notice is a permission boundary, not an unfinished feature. Where a message-specific action doesn’t apply (e.g. “open document” on a plain-text message, or an approval decision on a message with none pending), the app says so precisely rather than implying it’s unavailable.