Email Archiving in SuiteCRM

Email archiving in SuiteCRM sometimes misses certain inbound/outbound emails. What could be possible reasons and where should I check the logs? Is there any quick fix?

Make sure your cron job for EmailArchiver is also running frequently (every 5–10 minutes) to avoid missing emails in the future.

1 Like

Hello Sophie,

what’s your current version of SuiteCRM?
I had a similar issue once with icons / special character in the subject and encoding on the database side.

Since it’s only sometimes not working, I assume your cron job, your inbound accounts etc. are all setup and functioning most of the time.

Look into the missed emails specifically, and see whether you see any patterns?
(multiple addresses in the to field, very long / large emails, and similar).

Mostly check you suitecrm.log file.
Depending on the version it’s in either of the folders:

/
/public/legacy
/logs/legacy

and double check the other logs afterwards:

and for newer 8.x installations in /log/prod

Hello @Sophie_g,
A common reason why some emails don’t get archived in SuiteCRM is “IMAP/SMTP connection issues”.
If the mail server connection is unstable or if the mailbox credentials have expired, SuiteCRM won’t be able to fetch/archive those messages.

Please check your settings here:

“Admin → Inbound Email”(for IMAP accounts)
“Admin → Email Settings”(for Outbound SMTP)

Make sure the credentials are correct and run the connection test to confirm everything is working.

You can check logs in a few places to troubleshoot missed email archiving in SuiteCRM:

“SuiteCRM log” → Found in the root of your SuiteCRM install (e.g. /suitecrm.log).
"You can increase the log level to debug in config.php for more detailed info.
"Web server/PHP logs"→ Depending on your setup, usually in:
/var/log/apache2/error.log (Apache)
/var/log/nginx/error.log (Nginx)
php_error.log (location depends on your PHP config).
"Mail server logs"→ Useful if the issue is connection/authentication related (check your mail server for IMAP/SMTP connection attempts).

These logs together will give you a full picture of why emails might be skipped.

Hi Sophie,

Missed email archiving usually comes down to one of these issues:

  • Cron job not running (SuiteCRM depends on it).
  • Scheduler jobs like Check Inbound Mailboxes failing.
  • IMAP/SMTP misconfiguration or “Only fetch unread” enabled.
  • Large emails/attachments timing out.
  • Mailbox quota/limits on the server.

Where to check:

  • suitecrm.log (root folder) for IMAP/SMTP/Email errors.
  • PHP error log.
  • Admin > Schedulers → check job status.

Quick fixes:

  • Verify cron is active:
* * * * * cd /var/www/html/suitecrm; php -f cron.php > /dev/null 2>&1
  • Test inbound email connection in Admin.
  • Enable “Archive Sent Emails” in profile/system settings.
  • Run Quick Repair and Rebuild.
  • Increase PHP limits if large emails fail.

:point_right: In most cases, it’s a cron or scheduler issue, so start there.

:pushpin: For more details, you can go through this blogs:

Hi @Sophie_g ,

This issue usually occurs when SuiteCRM intermittently fails to fetch or archive emails due to background job, mailbox, or configuration issues. Here’s a structured way to troubleshoot it.

Check Scheduler and Cron Setup

SuiteCRM’s email archiving depends entirely on the background scheduler.

Verify that the cron job is running every few minutes:

cd /var/www/html/suitecrm && php -f cron.php > /dev/null 2>&1

Go to Admin → Schedulers and confirm that:

“Check Inbound Mailboxes” and related jobs are Active and show recent successful runs.

No jobs are marked as failed or overdue.

If the scheduler isn’t running, SuiteCRM will simply skip email fetching.

Review Inbound Email Configuration

Go to Admin → Inbound Email and run the Test Connection.
Confirm:

IMAP hostname, port, and SSL options are correct.

“Only Fetch Unread” is disabled (messages marked read before SuiteCRM fetches them will be skipped).

The correct folder (usually INBOX) is selected.

If the mailbox was recently migrated or credentials updated, delete and recreate the inbound account to reset IMAP pointers.

Validate Outbound / Sent Archiving Settings

In Admin → Email Settings and each user’s Profile → Email Settings, ensure “Archive Sent Emails” is enabled if you need sent emails archived.
Confirm SMTP credentials are valid.

Examine Logs (Enable Debug Temporarily)

Set log_level to “debug” in config.php and reproduce the issue.

SuiteCRM 7.x Logs:
suitecrm.log (root) or /public/legacy or /logs/legacy

SuiteCRM 8.x Logs:
/var/log/prod.log or /log/prod

Web/PHP Logs:
Apache → /var/log/apache2/error.log
Nginx → /var/log/nginx/error.log
PHP → php_error.log

Look for keywords like IMAP, archiver, inbound, or timeout.
If you see “job succeeded but no fetch,” the scheduler may be skipping due to message flags or size limits.

Common Root Causes

Cron/scheduler not executing

Mailbox authentication or SSL certificate expired

PHP memory/timeout limits too low for large messages

Special characters or emojis in subjects (encoding issue)

Mailbox quota reached or IMAP server throttling requests

UIDVALIDITY change after mailbox migration (requires re-adding mailbox)

Quick Fixes

Confirm cron and scheduler are working

Re-test inbound connection and re-save credentials

Temporarily disable “Only Fetch Unread”

Increase PHP limits (max_execution_time, upload_max_filesize, etc.)

Run Quick Repair and Rebuild after config changes

Recreate inbound mailbox record if IMAP index mismatch is suspected

Related Community Threads

If you can share your SuiteCRM version (7.x or 8.x) and a short excerpt from suitecrm.log around the missed email timestamp, we can help pinpoint the exact cause.
In most cases, ensuring the cron and “Check Inbound Mailboxes” scheduler are running reliably resolves this behavior.