WindoorERP Documentation 19.0

Turn on email

Diagnose the email that never arrived

Why this step

Keep this step bookmarked. It is the checklist for the day something does not arrive: the queue, the server, the domain and the spam verdict, in that order.

What this does

Works out why an email did not arrive, in the order that finds the answer fastest — because "the email did not arrive" has four completely different causes and they are told apart in about a minute.

Start here rather than changing settings. Most reports turn out to be the hourly queue, not a fault.

Before you start

  • Administrator rights for the technical email screens.
  • The record the message was sent from, and roughly when.
  • Do not change the mail server configuration before you have read the failure reason. It is recorded, and guessing usually breaks a second thing.

Steps

  1. 01
    Open the record's chatter. If the message is there with a red envelope, delivery was attempted and failed — go to step 3.
  2. 02
    If the message is not in the chatter at all, it was never created. The cause is upstream: no follower to send to, or the action never ran.
  3. 03
    Open Settings ▸ Technical ▸ Email ▸ Emails and find the message. Its Status is the whole diagnosis.
  4. 04
    Read the Failure Reason on the message. It holds what the mail server actually said.
  5. 05
    Only then change anything — and change one thing at a time.

What the status means

OutgoingQueued and not yet sent. This is normal: the queue is flushed hourly. Not a fault unless it is hours old.
SentThe mail server accepted it. Anything after this — spam folders, the recipient's own filters — is outside WindoorERP.
ReceivedAn inbound message that was accepted and filed.
Delivery FailedThe server refused it. Failure Reason says why, in the provider's own words.
CancelledSomeone or something stopped it before sending.

The message also carries the Scheduled Send Date, the sender and recipients, the outgoing server that was used, and the raw headers — enough to reconstruct exactly what was attempted.

"Sent" but the customer has nothing

Once the status is Sent, the provider accepted the message and WindoorERP's part is finished. What remains is deliverability, and it is decided by DNS, not by any setting in the database.

Ask the recipient to check their spam folder. Then check whether the sending domain authorises this database to send on its behalf — if it does not, well-behaved receivers will quietly bin the message and nothing in WindoorERP will ever show a failure.

A message that arrives for some recipients and not others is nearly always a receiving-side filter, not a sending fault.

Reading a failure reason

The reason is the mail server's own text, so it is worth reading literally rather than interpreting.

Sender address rejected / not ownedNo outgoing server's FROM Filtering covers the address the message was sent as. This is the single most common cause on a multi-address setup.
Authentication failedUsername or password on the outgoing server. Many providers require an app password rather than the account one.
Connection refused / timed outHost, port or encryption is wrong, or the network blocks the port. Use Test Connection on the server record.
Message too largeAn attachment exceeded the provider's limit. Lower "Convert attachments to links for emails over ⟨N⟩ MB" on the server.
Rate limit / too many messagesThe provider is throttling. Common when a campaign shares a server with ordinary mail — separate them.
Recipient address rejectedThe address does not exist. Fix it on the contact, not on the mail server.

Nothing sends at the expected moment

Outgoing mail is queued and flushed by a scheduled job that runs hourly. Only a few flows send immediately. A message still Outgoing after two minutes is expected behaviour.

If messages are hours old and still queued, check that the scheduled jobs are running at all — a stopped scheduler stops mail along with everything else, and the symptom is a queue that only grows.

Nothing comes in

Incoming has its own three failure points, and they are worth checking in this order.

The fetch job is disabledMail: Fetchmail Service ships switched off. This is the first thing to check and the most common answer.
The server is Not ConfirmedAn incoming mail server is only polled once Test & Confirm has succeeded.
Nothing matchedMail was fetched but matched no thread and no alias, and Create a New Record is empty — so it was discarded. The server's Last Error Message, on the developer-mode Advanced tab, records poll failures.

What to send to support

If you have to escalate, send these five things and the answer usually comes back on the first reply:

  • The message's Status and its exact Failure Reason, copied rather than described.
  • The record and roughly when it was sent.
  • The sending address, and which outgoing server was used.
  • Whether other addresses on the same database work.
  • A Quick Feedback reference — send it from the failing screen with technical details included, and quote the FB number.

Troubleshooting

No message in the chatter at allIt was never created. Check that the record has followers and that the action which should have sent it actually ran.
Red envelope, no reason shownOpen the message under Emails; the reason is stored on the record even when the chatter shows only the icon.
One address fails, others workFROM Filtering. Nothing else produces that pattern.
It worked yesterday and not todayThe provider changed something, a password expired, or a rate limit was reached. Read the reason; it usually says which.
Marketing stopped and invoices stopped with itThey share an outgoing server and the provider is throttling.
The customer replied and nothing appearedThe receiving half: fetch job, confirmation, alias — in that order.
Everything is queued and nothing movesThe scheduler is not running. That is a server problem, not a mail one.

Common mistakes

  • Changing SMTP settings before reading the failure reason, and turning one broken thing into two.
  • Reporting mail as broken minutes after sending, when the queue runs hourly.
  • Treating Sent as proof of delivery. It means accepted, not read.
  • Trying to fix spam placement inside WindoorERP when it is decided by DNS.
  • Escalating with "email is not working" instead of the status and the failure reason.
  • Fixing a rejected recipient address on the mail server rather than on the contact.

Checkpoint

You know where the mail queue is and can read why a message failed.