Mail

The platform sends and receives mail from your own addresses, per organization.

Mail servers

A mail server belongs to an organization: outgoing SMTP, incoming IMAP, and whether the mailbox is shared or personal.

A personal mailbox is the owner's, and nobody else's

Not the team's, not an administrator's, not a superuser's. This is a permanent rule of the platform, not a setting: a system that lets an administrator read staff mail is a system nobody can be honest in.

Shared mailboxes are the ones the team works together — info@, sales@, bugs@. Those can feed the helpdesk.

Test before you trust. The Test button on a server opens a real connection and logs in — an incoming server over IMAP, an outgoing one over SMTP — and answers within twenty seconds either way. Two answers worth knowing:

  • Network is unreachable on port 465 means the hosting provider filters that port on the way out (many do). Use port 587 with SSL/TLS switched off — the connection upgrades to TLS by STARTTLS and is just as private. The same relay usually serves both ports. The platform's operator names the filtered ports once, under Mail settings → Sending → Blocked outgoing ports (465 and 25 by default); every firm's server form then says so next to the port, and an outgoing server on such a port is refused at entry instead of failing at the first send.
  • A wrong host name or a closed port answers after the timeout, not never: a server that hangs cannot block the page or the fetch.

The mailbox

Mail opens a mail client: the folders on the left, the messages beside them. At the top are Inbox (every account's inbox together) and Starred; under them each account you may read, with every one of its folders — Inbox, Sent, Drafts, Archive, Spam, Trash and every folder of your own, nested as on the server, each with its unread count. Prefer a table? The same messages are also a configurable listing at Inbox → table, with columns, filters and exports.

Everything happens on the mail server first

Whatever you do here — read, star, move, delete — is done on the mail server before it is shown here. The phone, Outlook or Thunderbird on the same mailbox see the same thing, and if the server says no, nothing changes here and the reason is shown.

Why "server first" and not "fast first"

A client that changes its own list first and tells the server later shows a mailbox that does not exist whenever the server refuses — a deleted message that is still there on the phone, a moved one that never moved. Here the list only ever shows what the server holds.

The other direction works the same: what you do in another program shows up here. Read, starred, answered, deleted and moved messages follow within two minutes while the mailbox is open (the page refreshes itself when you have nothing selected), and at the regular interval otherwise. A message moved on the phone stays the same message here — its links to a partner, a lead or the file tree move with it.

The account's name in the folder list shows ! when its last synchronisation failed; the tooltip says why.

Organising mail

Tick messages (Shift-click selects a range, the box on the toolbar the whole page) and use the toolbar: Archive, Delete (to the account's Trash — in Trash it becomes Delete forever), Spam / Not spam, Mark read, Mark unread, Star, and Move or Copy to any folder of any account you may read. Dragging a message onto a folder moves it; with Ctrl held it copies.

  • Undo appears for ten seconds after a move, an archive, a delete or a spam mark.
  • Delete forever asks you to confirm the number of messages, and it is recorded in the activity trail — it cannot be undone.
  • Moving to another account copies the message into it and only then removes the original. If the second half fails, you get both copies and a notice — never neither.

Folders are managed in the list: + next to an account creates a folder, the pencil next to one of your folders renames it (or, with an empty name, deletes it together with its mail, after you confirm how many messages go with it). Inbox, Sent, Drafts, Trash, Spam and Archive belong to the mailbox and cannot be renamed or deleted.

Reading

Mail is read as it was written: an HTML message keeps its formatting, including the older spellings real mail still uses. It is filtered on the way to the screen — scripts, frames and dangerous styling removed — while the stored copy stays exactly as it arrived, so a better filter later applies to old mail too.

If a message ever looked like its own source code

Mail fetched before the HTML part was stored separately keeps the whole document in the text field. It is recognised for what it is and rendered as mail, through the same filter; nothing in the database was rewritten.

Pictures from the internet. A picture loaded from the sender's server tells the sender that, when and where you opened the mail — newsletters count on it. When Mail settings → Remote images is off, such pictures are blocked and the message says so, with Show pictures (this message) and Always for this sender. When the setting is on, pictures load for everybody.

Print opens the message alone, ready for the printer. Show original shows the message exactly as the server holds it — every header and the raw source. Pictures and PDF attachments have a Preview beside the download.

A message in Drafts — for instance one started on the phone — has Continue writing.

Writing

Compose, Reply, Reply all and Forward open the same form:

  • From — which of your mailboxes sends it. The sent message is filed in that account's Sent folder (once: servers that file it themselves, like Gmail or Microsoft 365, are recognised by the message's ID).
  • To, and Cc / Bcc behind their buttons — several addresses, separated by commas, with suggestions from the firm's contacts and from your own mail. Bcc recipients are never visible to the others.
  • Reply all fills in everybody on the original except you.
  • Forward quotes the original with its formatting and carries its attachments; untick the ones you do not want to send.

A forward is a new conversation

It addresses nobody, because forwarding a mail back to the person who wrote it is the classic one-keystroke mistake. And it does not carry the thread headers: the recipient's reply belongs in its own conversation, not filed in front of people who were never on the original.

Every recipient — To, Cc and Bcc — passes the same rule as before: a new message goes only to contacts of the organization; a reply may answer the people already in the conversation. One refused address stops the whole send and is named.

The answered original is marked answered (a forwarded one forwarded), here and on the server.

Drafts save themselves a few seconds after you stop typing and when you leave the page — into the account's Drafts folder on the server, so a message started here can be finished on the phone. Sending removes the draft.

Every message goes out as full HTML mail. A mailbox may carry its own signature (on the outgoing server's form); without one, your personal signature for the organization is used, so the same account writing for two firms signs correctly for each.

Finding a message

The search box searches everything about a message: subject, sender, recipients (Cc too), the body, and the text of its attachments — a PDF invoice is found by a number inside it. Accents do not matter (faktura finds Faktúra) and the beginning of a word is enough (fakt sept).

The search runs in the folder you have open; tick In all folders to search every folder of every account you may read. Unread, With attachments and Date narrow it further; the selection and the toolbar work on the results like on a folder.

Mailboxes themselves are grouped as Personal and Shared · firm — whose mailbox it is being the first thing you need to know about one — and search, suggestions and counts never reach a mailbox you may not read.

Keyboard

Key Does
j / k next / previous message
o, Enter open
x select
s star
e archive
# delete
! spam
Shift+U / Shift+I mark unread / read
c compose
/ search
z undo
? show the list on screen

Special folders and the assistant

Which folder is the account's Sent, Drafts, Trash, Spam and Archive is found automatically — by the server's own markers, otherwise by the folder that holds the mail (a mailbox used from Outlook and webmail often has both Sent and Odoslaná pošta). A wrong guess is corrected on the incoming server's form under Special folders; a choice made there is never overwritten.

The assistant can do what this page does — list folders, mark, move, copy, archive, delete, undo, manage folders, write with Cc/Bcc and save drafts — under the same rights: it never reaches a mailbox you may not read, and deleting forever needs the confirmed number of messages there too.

Attachments

Attachments are filed in the file tree, in a structure that matches who they belong to:

Private/
  Communication/
    Shared/[email protected]/     the firm's mailbox
    Personal/[email protected]/     yours

The folder is the filing, not the lock

A folder named Personal keeps nothing safe by itself. What keeps it private is that the file carries its owner from the moment the bytes are written — taken from the mailbox, not from whoever happened to run the fetch, and never stamped on by a later sweep. A file that becomes private only once a sweep reaches it was readable in between.

An attachment on a personal mailbox is readable by its owner alone, superuser included. One on a shared mailbox belongs to the firm, like the mailbox it arrived at.

Sending is one door

Everything the platform sends — an invoice, a reminder, a ticket reply, a campaign — goes through one gate. That gate knows the organization's server, logs what was sent, and refuses what it should refuse.

Guard Why
Known contacts only The platform is not a tool for mailing strangers
Test redirect On a test system, everything goes to one address instead of to customers
Timeouts A dead mail server must not hang the application
Bounce suppression An address that hard-bounced is not written to again

Deliverability

SPF, DKIM and DMARC decide whether your mail arrives at all. The deliverability screen checks your domain and says what is missing — this is DNS work, done once, and worth doing before the first campaign rather than after it.

Reading the DMARC reports

A DMARC record starts life as p=none: it asks receivers to report, and enforces nothing. Every receiver that sees mail claiming your domain then posts a daily report naming the sending source and whether it authenticated. If your record carries a rua= address, those reports are already arriving in that mailbox as zipped XML.

manage.py dmarc_reports --domain ctrl32.com [--days 30] [--organization ctrl32]

It reads the reports where they already are (the mailbox), and answers the one question that matters: does every source that sends as your domain authenticate, and for how long. Then it either names the source that does not, or hands you the record to publish next.

Why not just tighten it

p=quarantine tells the world to distrust mail from your domain that does not authenticate. If one of your own senders is unauthenticated — an old server, a newsletter tool, a shop plugin — its mail starts landing in spam the day you publish, and nobody tells you. Hence the rule: tighten only after a full week with nothing failing, because a monthly sender has not sent yet on day one.

The suggested record keeps the reporting address and percentage you already publish. Changing rua= while tightening would stop the evidence exactly when it starts to matter. Only receivers that send reports can be seen: Google does, some others do not, and that is not a fault.

Templates

The wording of every automatic mail is a template you can edit, per organization: invoices, reminders, portal invitations, ticket replies.

Campaigns

Bulk mail to contacts who opted in. Opt-in is not configurable and not a default that can be flipped — a campaign to people who did not ask is a legal problem, not a marketing decision.

Quotas

Personal mailboxes have a storage quota per user, so one large mailbox cannot fill the disk for everybody.

Next

Tags
erpmail