Receive an inbound email into the mailbox
A customer's email to a connected company mailbox is polled, captured, identified, grouped and routed into the shared Inbox.
When this happens: A customer sends an email to a connected company address.
How it works
- EasyCRM sends an email from *
[email protected]* to *[email protected]*, subject Order #4821 delayed?. - Delivers the message to the mailbox.
MailboxSyncJobpolls the mailbox on its 5-minute cycle and fetches the new message via the provider's incremental endpoint.- Identifies the customer by the
Fromaddress and finds or creates theContact. - EasyCRM evaluates mailbox inbox-inclusion rules; no rule matches — the message is included.
- Finds, reopens or creates the
Conversation(FR-14 rules) and appends aMessage(Inbound,Customer). - EasyCRM stores the
EmailMessageHeader(Subject, From, To, Cc, Bcc,InternetMessageId,InReplyTo,References, ). - Downloads any attachments into object storage and links
MessageAttachmentrows. - Routes the conversation (FR-24) and notifies the eligible operators (FR-10).
Other paths
Message carries attachments
EasyCRM stores non-inline attachments via IFileStorageProvider in object storage; inline images referenced only from the HTML body are not persisted separately.
Message matches an exclusion rule
At step 5 an Exclude rule matches. The message is stored but never becomes a Conversation/Message, and is never routed or notified.
If something goes wrong
Mailbox in error state at poll time
EasyCRM skips the cycle for that connection; the message is picked up on the next successful poll. The checkpoint is not advanced, so nothing is lost.
One attachment fails to download
EasyCRM logs and skips the failed attachment; the rest of the message is still captured.
Good to know
MailboxSyncJobpolls every 5 minutes per connection.- A newly connected mailbox's first sync imports the last 30 days.
- A checkpoint only advances once its messages are confirmed processed.