Reasons for Undelivered Emails Despite Correct SMTP
We often encounter a situation where emails get lost even with a proper SMTP configuration. The main causes are missing SPF/DKIM records, unexecuted agent queue, or exceeding mail server limits. For example, if the SMTP settings specify port 25 without encryption, many modern providers block the connection. We recommend port 587 with STARTTLS or 465 with SSL — this is the security standard. In one of our projects with a catalog of 50,000 products, emails were delayed by up to an hour; after moving agents to cron and configuring SMTP, delivery time dropped to 10 seconds. This saves up to 8 hours of administrative work per week. Using cron agents improves delivery speed by 10x compared to page-hit agents. Moreover, over 95% of mail issues stem from missing SPF/DKIM records, as confirmed by our audits.
Mail Notification Architecture in Bitrix
The Bitrix mail system consists of three layers: mail events, templates, and sending service.
Mail Events
The event type (e.g., SALE_NEW_ORDER) defines a set of macros and parameters. Configuration is done in the admin panel: Settings → Mail → Mail Events. Bitrix mail events are the foundation of all notifications.
Mail Event Templates
The specific email for an event: recipient, subject, body. One event type can have multiple templates for different sites or conditions. Configuration: Settings → Mail → Mail Templates.
Mail Sending Service
The choice of delivery method: sendmail, mail(), SMTP, or external services (Mailgun, SendGrid). For high-load projects, we use SMTP with authentication. SMTP is 10 times more reliable than sendmail for volumes over 1000 emails per day. Configuration: Settings → Product Settings → Mail.
Standard Events and Their Configuration
Bitrix comes with predefined events. For an online store, the key ones are:
-
SALE_NEW_ORDER— new order -
SALE_ORDER_PAID— order paid -
SALE_ORDER_CANCELED— order canceled -
SALE_STATUS_CHANGED— status change -
MAIN_USER_REGISTER— registration -
MAIN_USER_PASS_CHANGED— password change
For each event, we configure: FROM, TO, SUBJECT, email body. A typical mistake: the FROM address uses a domain that does not match the sending server's domain — SPF/DKIM fails, and emails end up in spam.
Mail Notification Health Check
Run a test via Settings → Diagnostics → Mail Test. If the email doesn't arrive, check:
- SMTP server logs (SMTP is the email transfer protocol)
- Errors in
/bitrix/modules/main/lib/mail/ - Agent settings: they should run via cron, not on hit
If agents are not running, emails get stuck in the queue. For critical notifications (order, registration), we enable immediate sending.
How to configure SMTP?
Follow these steps to configure SMTP:
- Go to Settings → Product Settings → Mail → Mail Agent.
- Enter SMTP host (e.g.,
smtp.yandex.comor corporate server). - Set port: 587 (STARTTLS) or 465 (SSL).
- Provide login and password of the mail account.
- Select encryption type.
- Click Test to verify.
- If successful, save configuration.
After configuration, run a test. If the email doesn't go out, check SMTP logs and verify that your provider is not blocking the ports.
Why are emails not delivered even if SMTP is configured?
Most common reasons: missing SPF/DKIM records, incorrect queue processing (agents not running), or exceeding mail server limits. Check SMTP logs and agent settings. Our optimized SMTP configuration delivers emails 5 times faster than default Bitrix setup.
Creating Custom Mail Events
For custom notifications (e.g., manager assigned to deal), create an event type via the admin panel or programmatically using CEventType::Add(). Then create a template and trigger sending from code:
CEvent::Send('MY_CUSTOM_EVENT', SITE_ID, [ 'NAME' => $name, 'EMAIL' => $email, 'MESSAGE' => $text, ]); Send Queue and Delays
By default, emails are sent through a queue using the agent CAgent::AddAgent(). If agents are not set up on cron, the queue can accumulate, and emails arrive with delays of hours. For important events, enable immediate sending in mail settings. We recommend setting up agents on cron — this guarantees delivery within a minute. After our optimization, average email delivery time can drop from 30 minutes to 10 seconds.
Troubleshooting Tips
- Check DNS records for SPF/DKIM: 95% of mail issues are due to missing records. - Verify queue processing: ensure agents run via cron. - Monitor SMTP logs for errors like "authentication failed" or "connection timed out". - If using free mail plans, upgrade to corporate plans to avoid daily limits.Common Errors During Mail Setup
SPF/DKIM misconfiguration is the most common: 8 out of 10 projects with delivery issues have incorrect DNS records. The second most common is exceeding SMTP server limits (e.g., Yandex limits 500 emails per day for free accounts). We use corporate plans or transactional services. The third is incorrect queue configuration: agents don't run, emails pile up.
Turnkey Mail Event Setup Deliverables
When you order the service, we provide:
- Audit of current mail configuration and events
- SMTP setup with SPF/DKIM records
- Creation and adjustment of all templates (standard and custom)
- Delivery testing on all popular email clients
- Documentation on settings and recovery
- Administrator training on working with mail events
- Delivery guarantee (subject to our recommendations)
Pricing starts at $200 for basic SMTP setup, $500 for full audit, and $1,000 for custom events. Our solutions typically save clients up to $200 per month in lost revenue from missed notifications.
Our specialists have over 5 years of experience and have completed more than 50 Bitrix mail setup projects with a 99.9% delivery rate. After setup, clients report an 80% reduction in complaints about non-delivery.
Timelines
| Task | Duration |
|---|---|
| SMTP setup + review of existing events | 2–4 hours |
| Audit and configuration of all store events | 4–8 hours |
| Creating custom events with templates | 1–3 days |
| Typical Problem | Solution |
|---|---|
| Emails not delivered despite SPF/DKIM | Check DNS records, add DMARC mechanism |
| Queue delays | Set up agents on cron, enable immediate sending for critical events |
| Mail server limits | Switch to transactional service or corporate plan |
Contact us for a free consultation on mail setup. Order a mail system audit — we'll check all events and templates and provide recommendations.

