“The email did not arrive” describes the outcome, not the failure point. First establish whether the enquiry itself was saved. Then check creation of the mail event, its processing, handoff to the mail service and delivery to the recipient. This order helps preserve enquiries and avoids changing working DNS records at random. The outcome is one traced example and a precise task for a specialist.
First separate the enquiry from its notification
Open the enquiry storage used by your implementation: a CMS form entity, CRM or application log. A missing email does not mean a missing record. Conversely, an attractive success message does not prove that the enquiry was saved. If a form exists only to send email, discuss durable enquiry storage before notification as a separate improvement.
Make one training submission with a recognisable marker such as “Delivery test demo-mail-42”. Use your own test contact and ordinary short text without attachments. Record time and timezone, page URL, form code, expected recipient and on-screen result. Do not click dozens of times: this creates noise and may trigger rate protection.
If enquiries are not saved, investigating SMTP is premature. Check the form handler, required fields, server response and application log for that time. Mail configuration cannot recover an enquiry that was never accepted. Limit diagnosis to the training example and log reading instead of disabling public-form protections.
How the email route works
| Stage | Evidence needed | Who investigates |
|---|---|---|
| Form and record | Saved enquiry | Website developer |
| Event and template | Recipient and processing | CMS administrator |
| Mail handoff | Service response | Host or mail provider |
| Recipient mailbox | Message or rejection | Mail administrator |
On a typical Bitrix site, a mail event is linked to a template defining addresses and message content. A particular form may instead use a custom module or external API. Establish the implementation first. Absence from the standard queue is not an error if the form never uses that queue.
A useful request to a specialist is: “Trace training enquiry demo-mail-42 and identify the last successfully completed stage.” This is better than “reinstall email”. One specific event allows logs from several systems to be correlated without exposing all customer correspondence.
Step 1. Check the template and recipient
Find the event type and mail template in the administration area. Section names and access vary by version and role. Check that the template is active, linked to the correct site, has the correct recipient and receives all variables. A template may look correct while substituting an empty address or an old address from component settings.
Check the substituted value, not only a placeholder such as “#EMAIL_TO#”. On a multisite installation, confirm the correct site association and sender. If two employees should receive notifications, test the supported list format rather than guessing. Save the old working template in a private backup before editing.
Use an address authorised for the sending domain and service in From. The visitor’s address usually belongs in Reply-To, if supported. Impersonating the customer’s address, such as someone else’s Gmail address, can fail domain-authentication checks. Do not fix this by disabling certificate verification or protective mechanisms.
Step 2. Inspect the mail event state
For the standard Bitrix mechanism, the official mail-event documentation describes SUCCESS_EXEC. N means not yet processed; 0 means no matching templates; F means delivery through all templates failed; P means partial success; Y means successful template sending at the system-mechanism level. None of these proves that the message reached the Inbox.
Ask the specialist to read the specific event’s status and processing time. There is no need to export the whole table of messages and personal data. The identifier, event code, site association and result are enough. An external module may have its own statuses; use its documentation rather than the interpretation above.
If the queue is not being processed, check how background work actually runs on this installation. It may depend on site configuration and scheduling. Advice for a different host cannot be applied automatically. The native CEvent::CheckEvents method processes unsent events, but manually running the entire backlog without review can send old messages.
Step 3. Check handoff to the mail service
If the event was processed, find the sending service’s response at the same time. Possible causes include authentication failure, sending limits, an invalid address, an unavailable server or a secure-connection error. Record the short error code and text without passwords, tokens or the full message body.
For SMTP, confirm the host, port, secure-connection method, sender login and permitted From address using your provider’s instructions. Do not guess ports by trial and error or use random settings from an old article. If the password changed, check where the current value is stored: a module, server and external service may have different settings.
Ask the host to confirm acceptance and the subsequent outcome: queue identifier, next-server response, deferred delivery or rejection. “Sent” without an identifier and time is too ambiguous. Even acceptance by the recipient’s server does not guarantee the Inbox: filtering may happen later.
Step 4. Check the mailbox and domain authentication
Inspect Spam, forwarding rules, filters, corporate quarantine and nondelivery reports. Check whether the mailbox is full or the sender blocked. Then send one training message to each of two controlled addresses at different providers. Different results help distinguish a general sending fault from a recipient-specific problem.
SPF, DKIM and DMARC matter for the sending domain. Requirements depend on the recipient and sending activity. For example, Gmail’s sender guidelines require SPF or DKIM authentication and TLS for all senders to personal Gmail accounts; bulk senders face stricter requirements. These are Gmail’s rules, not a universal delivery promise for every mail system.
Check an actual message and the route it uses. If an external service sends messages, DNS must follow that service’s instructions. Do not create a second independent SPF record or replace an existing record without accounting for other senders. First save the current configuration and list of services, then agree the change with the domain owner.
MX governs a domain’s incoming mail; it does not by itself authorise a website to send email. Moving incoming mail to another service may therefore do nothing for the outgoing problem. First establish the specific cause. Diagnostic headers are useful, but remove addresses and service data not needed for investigation before sharing them.
Training example: a successful event with no visible email
Suppose enquiry demo-mail-42 was saved in the CMS, its event has status Y and an employee cannot see the notification. Investigation finds that the template uses an old departmental address that still accepts mail. This is a training scenario, not a statistic about SignM clients.
Reinstalling the mail module is unnecessary. Correct the recipient at its actual configuration source, retain the previous version and run one new test. Check both the email and the enquiry record. Give the employee an agreed list of earlier enquiries affected by the fault rather than resending every event on the site.
The same investigation could instead find a correct address and a message accepted by the server but quarantined. In that case, work with the mail administrator on the filtering cause. Further template changes without filter evidence only complicate the investigation. One symptom can require action at different stages of the route.
Recover without losses or duplicates
Define the failure period and list saved enquiries with no confirmed salesperson response. Emails are a supporting channel; enquiries themselves are the basis for reconciliation. For each, record whether it exists in CRM, who received it and whether another notification is needed. Do not send a customer several identical confirmations simply because the salesperson missed theirs.
Before reprocessing a queue, inspect its contents: old registrations, account-recovery messages and other events may be present. Retry only agreed records. Do not resend expired password-reset links; where necessary, the account owner should use the supported process to obtain a new link.
If a change makes things worse, restore the saved configuration for that component and record the result. Do not restore the entire site database for one mail template: that is disproportionate and risks losing new data. For DNS changes, allow for propagation and verify the result before another edit.
Accept the fix and prepare a support request
- One new training enquiry is saved and has an identifier.
- The correct employee receives the email; its subject and content identify the enquiry.
- The reply address leads to the intended recipient rather than an unrelated technical mailbox.
- Reprocessing one event does not create duplicate notifications.
- Delivery to agreed test inboxes and the queue state have been checked.
- An owner and a method for spotting the next delay are defined.
Send support the domain, form URL, time, training marker, masked expected address, observed status and error code. Do not send the SMTP password or a full queue export. State changes already attempted: simultaneous edits by different specialists can obscure the original cause.
SMTP is a mail-transfer protocol; From is the declared sender; Reply-To is the reply address; a bounce is a nondelivery report; SPF/DKIM/DMARC verify senders and express domain policy. Choose a new server, plan or mail module only after identifying a limitation. A completed route worksheet helps you solve the problem independently or hand it to website support without collecting the facts again.
Apply this to your own project
Trace one training submission, locate the failure in the form, queue, mail service or mailbox, and prepare a precise support request without sharing secrets.
Website email troubleshooting route: open the worksheet · Download the CSV to complete. Free access, no registration. Use it independently or pass it to your contractor.