WindoorERP Documentation 19.0

Turn on email

Understand the mail flow before you change it

Why this step

Read this before touching a server setting: it explains which messages leave, which arrive, and what an alias actually does.

What this does

Explains the mail model behind every record in WindoorERP: where messages live, who receives them, and the two halves — sending and receiving — that a self-hosted database has to be told about before mail actually flows.

This is the map. The two topics after it do the configuration.

Before you start

  • Nothing, to read it. Changing any of it needs administrator rights and the Technical settings.
  • Mail touches customers, so test on one record before you announce it to the team.

Steps

  1. 01
    Open any record that people discuss — an opportunity, a quotation, an invoice — and find the chatter below or beside the form.
  2. 02
    Look at Followers. That list, not your address book, decides who a message reaches.
  3. 03
    Use Send message for something the customer should see, and Log note for something only colleagues should.
  4. 04
    To check the sending half, open Settings ▸ Technical ▸ Email ▸ Outgoing Mail Servers.
  5. 05
    To check the receiving half, open Settings ▸ Technical ▸ Email ▸ Incoming Mail Servers, and the alias domain under Settings ▸ General Settings.

The chatter is the mailbox

Records that people discuss carry one discussion thread, and every message about that record lives in it — outgoing and incoming, in order. There is no separate inbox to check.

Send messageGoes to the followers of this record. Each follower gets it as an email or as an in-app notification, according to their own preference.
Log noteInternal. Recorded on the record, never sent to a customer.
ActivitiesA task with a date and an owner, attached to this record. Not an email — it appears in the assignee's Activities menu.
FollowersWho receives what. People are added automatically — the salesperson, whoever is assigned — and can be added or removed by hand.
AttachmentsFiles sent or received on this record, kept with it.

When a follower replies to one of those emails, the reply lands back in the same chatter and is relayed to the other followers. That round trip is the whole point of the incoming half.

The sending half

An outgoing mail server record holds the SMTP host, port, encryption and credentials that the database sends through. A tenant usually has more than one — a general one and, say, one for sales notifications.

FROM Filtering on each server is what decides which server carries which sender address. Get it wrong and the provider rejects the message outright, which is why mail can fail for one address while working for another.

Sending is queued, not immediate. Messages wait in the queue and are flushed by the Mail: Email Queue Manager job, which runs hourly by default. A message that has not arrived after two minutes is normal; after two hours it is not.

The receiving half

Replies come back one of two ways.

Incoming mail serverThe database polls an IMAP or POP mailbox on a schedule and pulls messages in. Simplest to set up, and the usual recommendation. Note that the Mail: Fetchmail Service job ships inactive — nothing is fetched until it is switched on.
Alias domainMail addressed to the database's domain is delivered straight to it. The domain carries a catchall alias, which is where replies land, and a bounce alias, which is where failures land.

Either way, the address a customer replies to identifies the record, which is how the reply finds its own thread rather than a general inbox.

Important

WindoorERP is not a mailbox. Anything that arrives without matching a record or an alias is bounced, not held for someone to read. Do not point a human mailbox at it.

Troubleshooting

Nothing sends at allNo outgoing mail server is configured, or none is active. Test the connection on the server record itself.
Mail sends lateExpected. The queue is flushed hourly. Only a few flows send immediately.
One address works, another is rejectedFROM Filtering does not cover the sending address, so the provider refuses it.
Everything lands in spamThe sending domain's DNS records were never published. That is a DNS job, not a setting in WindoorERP.
Customers reply and nobody sees itThe receiving half was never configured, or the Fetchmail job is still inactive.
A reply started a new record instead of joining the threadThe reply address lost the record reference — usually a customer writing to a plain address rather than replying.
A follower says they get nothingCheck their notification preference. In Odoo means no email is sent to them at all.

Common mistakes

  • Treating WindoorERP as an inbox. Mail that matches no record is bounced.
  • Configuring the sending half and forgetting the receiving one — customers reply, and nobody ever sees it.
  • Reporting mail as broken two minutes after pressing send, when the queue runs hourly.
  • Sending from a domain whose DNS records were never published.
  • Adding people to a record by mentioning them in a note instead of making them followers, then wondering why they were not told.

Checkpoint

You can say which address your quotations are sent from, and where a customer's reply will land.