Hardware FixRecommendedDevice not working? Your driver may be the problemCheck updates for common hardware issues.Fix DriversHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PC×
Skip to content
World desk12 min

How to Fix Exim Not Sending Emails on a Linux Server

Find the exact reason Exim is not delivering mail by tracing one message ID through the logs, separating submission from delivery, checking queue and retry state, and fixing the specific DNS, network, identity, authentication, or recipient-policy failure.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

When Exim is “not sending” mail, the message has usually been accepted locally but is queued, deferred, rejected by policy, or blocked before it reaches the recipient. The fastest fix is to follow one message ID through Exim’s logs, classify the result as successful, temporary, permanent, or frozen, and then correct the failing layer—daemon, queue, DNS, network, TLS/authentication, or recipient policy.

Do not begin by changing routers or permitting unrestricted relay. A local 250 response proves only that Exim accepted the message for processing; it does not prove delivery to an external domain.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Start with the delivery result, not the symptom

Exim records a separate delivery attempt for each address. Find the line for the affected message and read its status:

Log result Meaning What to do
=> Delivery succeeded for that recipient. Check the recipient’s spam handling, forwarding, or mailbox rules if the message is not visible.
== Delivery was deferred temporarily. Read the SMTP or transport error and retry after correcting the temporary condition.
** Delivery failed permanently and a bounce is normally generated. Correct the address, routing, authentication, or policy problem shown in the log.
frozen Exim stopped automatic retries for the message. Inspect the recorded error before thawing or removing the message.

A message can be accepted by the local submission interface, receive a local 250, and still fail later when Exim performs DNS lookup or opens an SMTP connection. Treat the later delivery record as the authoritative result.

#1 Best Overall
Sale
TOZO A1 Wireless Earbuds Bluetooth 5.3 Light Weight in Ear Headphones | IPX5 Waterproof,2 Mics for AI Calls,Immersive Premium Sound Bass Headset with Charging Case,32 EQ via App Black
  • [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
  • [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
  • [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
  • [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
  • [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.

1. Follow one message ID through the logs

Use a single failed message as your test case. Testing many unrelated messages at once makes it difficult to tell whether the fault affects one recipient, one domain, or every destination.

Locate the message and its ID

On many installations, the queue can be listed with:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
sudo exim -bp

The output includes the message ID, age, size, sender, and recipients. Copy the complete ID exactly. To inspect headers and body separately:

sudo exim -Mvh MESSAGE_ID
sudo exim -Mvb MESSAGE_ID

Use the ID to search the main log. Common locations are /var/log/exim4/mainlog on Debian-family systems and /var/log/exim/mainlog on some other distributions, but the configured path takes precedence. Also inspect the reject and panic logs when they exist:

sudo grep 'MESSAGE_ID' /var/log/exim4/mainlog
sudo grep 'MESSAGE_ID' /var/log/exim4/rejectlog
sudo tail -n 100 /var/log/exim4/paniclog

Log rotation may have moved an older entry into a numbered or compressed file. Search the rotated logs if the message is not in the current file. The first useful line normally shows whether Exim routed the address, deferred it, or generated a permanent failure; subsequent lines contain the remote response and retry state.

Watch the next attempt

After recording the current error, perform one controlled queue run and watch the log in another terminal:

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
sudo tail -f /var/log/exim4/mainlog
sudo exim -q

Use the equivalent log path for your distribution. A controlled run produces a fresh timestamp and error, which is more reliable than repeatedly changing configuration and waiting for an unknown retry schedule.

2. Confirm that Exim is running and accepting submissions

There are two separate paths: a local program can submit a message through Exim’s sendmail-compatible command, while the Exim daemon accepts SMTP connections from applications or remote hosts. One path can work while the other is stopped.

Rank #2
Sale
Smart Watch for Men Women Compatible with iPhone Samsung Android Phone 1.69 inch Full Touch Screen IP68 Waterproof Bluetooh Fitness Tracker Heart Rate/Sleep Monitor (Black)
  • 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
  • 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
  • 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
  • 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
  • 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.

Check the service

Service names vary:

sudo systemctl status exim4
sudo systemctl status exim
sudo systemctl is-enabled exim4
sudo systemctl is-enabled exim

Run the commands that match the installed unit. If the service is inactive, inspect the unit’s journal before restarting:

sudo journalctl -u exim4 --since "30 minutes ago"
# or
sudo journalctl -u exim --since "30 minutes ago"

Configuration syntax errors, an occupied port, or a failed privilege check can prevent startup. Correct the reported error, then restart the service and verify that it remains active.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Check the listening interface and port

By default, Exim listens for incoming SMTP connections on the standard SMTP port on the host’s running interfaces when operating as a daemon. Verify what is actually listening:

sudo ss -ltnp | grep -E ':(25|465|587)b'

Port 25 is normally used for server-to-server delivery. Port 587 is the usual authenticated submission port; port 465 is implicit TLS where configured. A daemon bound only to 127.0.0.1 will not accept connections arriving on the server’s public address. Conversely, exposing a submission service without authentication can create a relay risk.

Test local submission separately

Submit a test through the local interface and request verbose output:

printf 'Subject: Exim testnnmessage bodyn' | sudo /usr/sbin/sendmail -v [email protected]

If this command fails immediately, investigate local permissions, the sendmail wrapper, message syntax, and daemon availability. If it succeeds but the message remains in the queue, submission is working and the problem is downstream in routing or delivery.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

3. Determine whether the queue is paused, locked, or simply waiting

Queueing is normal when a remote host is temporarily unavailable. It is not evidence of successful delivery. Exim can also be configured for queue-only operation, in which messages are accepted but no delivery is attempted until a queue runner executes.

Inspect queue state

sudo exim -bp
sudo exim -bpc

The first command lists messages; the second reports the queue count. Compare the message age with the retry information in its log entry. A message that repeatedly shows a future retry time has not been abandoned—the retry scheduler is deliberately waiting.

Rank #3
New Bee Guitar Cable 10ft Electric Instrument Bass AMP Cord
  • [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
  • [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
  • [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
  • [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
  • [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by

Understand “retry time not reached”

“Retry time not reached” means Exim recorded a temporary failure and is following its retry schedule. Common triggers include a timeout, connection refusal, temporary DNS failure, a remote 4xx response, or a transient TLS problem. Running the queue before the scheduled time may do nothing. Fix the underlying error first, then run a controlled retry.

Check for queue-only operation and missing queue runs

Inspect the active daemon and queue-run settings:

sudo exim -bP daemon_smtp_ports
sudo exim -bP queue_only
sudo exim -bP

The exact output depends on the build and configuration. Look for queue-only directives, a disabled queue runner, or a daemon started without the expected -q interval. A server that accepts mail but never launches queue runs will accumulate messages indefinitely.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Check for spool locks and frozen messages

A locked spool file can occur while another Exim process is delivering the same message. Confirm that an Exim process is not already working before removing anything. For a frozen message, inspect its log entry and headers first. Do not delete it merely to make the queue look empty; removal discards the message and may also discard evidence.

After correcting a temporary fault, you can request an immediate attempt for one message with:

sudo exim -M MESSAGE_ID

Use a queue flush such as sudo exim -qff only when you understand its effect on the whole queue and have checked that the original failure is fixed. A forced run cannot overcome a blocked port, invalid DNS, or a permanent recipient rejection.

4. Map the exact transport error to the right fix

The final text on the delivery line is more valuable than the general symptom “mail is stuck.” Use the following mapping.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Error pattern Likely layer Focused checks
“no MX” or “host lookup failed” DNS or recipient-domain routing Query MX, then A/AAAA records; check resolver reachability and DNSSEC-related failures.
“connection refused” Remote service unavailable or blocked path Test TCP 25, verify the destination is listening, and check outbound and remote firewalls.
“connection timed out” Filtering, routing, or a nonresponsive host Test from the server, review egress rules, and compare IPv4 and IPv6 paths.
TLS handshake or certificate error TLS negotiation Check system time, supported protocols, certificate validation, and the remote host name.
Authentication failure Smarthost or SMTP credentials Verify the username, secret, authentication mechanism, and whether the provider requires TLS first.
“relay not permitted” or “not authorized” ACL or relay policy Confirm the client’s source, sender, destination, and authentication state match the intended rule.
Remote 550, 551, or similar permanent reply Recipient or remote policy Check the address, domain policy, sender identity, and the complete explanatory text.
Remote 421, 450, 451, or similar temporary reply Transient remote condition Leave retrying enabled; correct local DNS, reputation, or connection problems if the condition persists.

5. Verify DNS and Exim’s routing decision

Exim normally looks up the recipient domain’s MX records and then resolves the selected mail host to an address. If no usable MX result exists, fallback behavior depends on the domain’s DNS and Exim’s router configuration.

Query the recipient domain from the server

dig +short MX recipient-domain.example
 dig +short A mail.recipient-domain.example
 dig +short AAAA mail.recipient-domain.example
 getent hosts mail.recipient-domain.example

Replace the example names with the actual recipient domain. An empty MX response is not automatically an error: DNS permits delivery to the domain’s A or AAAA address when no MX exists. An empty result for both MX and address records, a resolver timeout, or a DNS server that returns an error prevents routing.

Rank #4
BSIMB 15.6" Digital Family Calendar & Chore Chart, No Subscription Fees
  • Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
  • Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
  • All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
  • Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
  • Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.

Ask Exim what it would do

sudo exim -bt [email protected]

This tests address routing without sending a message. It can reveal that the address is treated as local, routed to a smarthost, rejected by a condition, or assigned to the SMTP transport. If Exim chooses a local route for an external domain, inspect the local-domain and relay-domain lists before changing the transport.

Check IPv4 and IPv6 differences

A domain may publish both address families while the server has incomplete IPv6 routing. If logs show repeated IPv6 timeouts but IPv4 connectivity works, correct the host’s IPv6 route or configure Exim to use the address family supported by your network. Do not mask a general DNS problem by changing address-family settings without testing both paths.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

6. Prove that outbound SMTP traffic is possible

Many hosting providers, cloud networks, and ISPs restrict outbound TCP port 25. Exim’s configuration can be perfect and still be unable to contact recipient servers.

Test the destination connection

nc -vz -w 10 mail.recipient-domain.example 25

If netcat is unavailable, use a TCP test supplied by your distribution or attempt an SMTP session with OpenSSL when the remote server supports STARTTLS:

openssl s_client -starttls smtp -connect mail.recipient-domain.example:25 -servername mail.recipient-domain.example

A refusal means the destination or an intermediate firewall rejected the connection. A timeout commonly indicates filtering or a broken route. A successful TCP and SMTP greeting moves the investigation to protocol, TLS, authentication, or recipient policy.

Inspect local egress rules and provider limits

Review host firewalls and cloud security rules for outbound TCP 25:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
sudo ufw status verbose
sudo nft list ruleset
sudo iptables -S OUTPUT

Commands differ by firewall framework; inspect the active one rather than enabling several competing rule sets. Ask the network provider whether port 25 is blocked or requires an unblock request. If direct delivery is intentionally unavailable, configure a reputable authenticated smarthost on its submission port instead of repeatedly retrying direct SMTP.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

7. Correct the server identity used in SMTP

Recipient systems often evaluate the name Exim presents in its greeting, the sender domain, and the server’s forward and reverse DNS. Debian-family installations commonly obtain the system mail name from /etc/mailname; other setups derive it from the host name or Exim’s primary_hostname.

Check the effective names

hostnamectl status
hostname --fqdn
sudo exim -bP primary_hostname
cat /etc/mailname

Use an externally valid fully qualified domain name, not an unqualified host label or a name that resolves only inside a private network. The name should have a forward DNS record. Where the recipient requires it, the public address should also have reverse DNS (PTR) that points to a consistent host name.

Keep identity changes consistent

Changing only the visible sender address does not repair a broken SMTP identity. Coordinate the operating-system host name, Exim’s primary host name, forward DNS, reverse DNS, and the name used in the SMTP greeting. After a change, restart Exim and verify the new value in a fresh delivery log.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

8. Fix relay refusal without creating an open relay

“Relay not permitted” is a policy decision, not a queue malfunction. Exim refused to relay because the client source, recipient domain, sender, or authentication state did not satisfy the configured ACL and router rules.

Identify the intended submission path

  • Local applications should submit through the local sendmail interface or a loopback SMTP listener.
  • Authenticated users should submit through the configured submission service, normally with TLS and valid credentials.
  • Server-to-server delivery should use the SMTP transport for destination domains, not an unauthenticated public relay rule.

Inspect the active policy and authenticators:

sudo exim -bP acl_smtp_rcpt
sudo exim -bP authenticators
sudo exim -bP routers
sudo exim -bP transports

Exact output depends on how Exim was packaged. Look for the rule that rejected the recipient and determine whether authentication was expected but absent, or whether the client connected from an address outside the trusted network.

Repair credentials and TLS narrowly

For a smarthost, verify the account name, password storage permissions, required authentication method, and whether the server requires STARTTLS before AUTH. Test with a single recipient and capture the complete SMTP exchange in Exim’s logs. Never solve relay refusal by permitting every source address or every destination; that turns the server into an abuse target and can lead to provider blocks.

9. Understand retry schedules, bounces, and frozen mail

Exim separates temporary and permanent outcomes. Temporary SMTP failures are placed on a retry queue and attempted according to the configured retry rules. Permanent routing or recipient failures are bounced. A frozen message is no longer being retried automatically, usually because repeated attempts failed or a bounce could not be delivered.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Read the retry record

The message log shows the last attempt, the remote response, and the next scheduled retry. “Retry time not reached” is therefore a status of the scheduler, not a new failure. If every retry reports the same DNS, network, or TLS error, fix that condition rather than shortening the interval.

Thaw only after diagnosing

Once the cause is corrected, run a targeted delivery attempt and watch the log. If the message is permanently undeliverable, remove it deliberately with the Exim command intended for message removal rather than deleting spool files manually. Preserve the ID and error text when escalating to a provider or recipient administrator.

10. Use symptom-specific recovery paths

Local mail works, external mail is queued

  1. Run exim -bt [email protected] and confirm that Exim selects an external SMTP route.
  2. Query the destination’s MX and address records with dig.
  3. Test outbound TCP 25 from the server.
  4. Read the remote response in the message log; correct DNS, firewall, TLS, or recipient policy according to that response.

Every message says “retry time not reached”

  1. Choose one message and find its preceding delivery error.
  2. Check that a queue runner is enabled and that the spool is not locked.
  3. Resolve the underlying temporary failure.
  4. Run one controlled queue attempt and confirm a new log entry.

Only one recipient domain fails

  1. Compare its MX and address records with a working domain.
  2. Test the selected mail host directly on port 25.
  3. Read the recipient server’s exact SMTP reply.
  4. Contact that domain’s administrator if the reply identifies a remote policy or outage.

All external domains fail immediately

  1. Verify Exim’s daemon and queue runner.
  2. Check outbound firewall and provider port-25 restrictions.
  3. Confirm the server’s public address, hostname, and reverse DNS.
  4. Check whether a global ACL or router change is rejecting every destination.

11. Distribution differences that affect commands and logs

Environment Service command Common log convention Important variation
Debian-family package systemctl status exim4 /var/log/exim4/mainlog, rejectlog, paniclog System mail name is commonly managed through /etc/mailname; configuration may be generated from split files.
Other packaged Linux systems systemctl status exim Often under /var/log/exim/, but verify the active configuration. Unit name, queue interval, and log paths can differ.
Source or custom install The locally installed service unit or init script The path configured in Exim’s logging options Do not assume distribution defaults; query the running binary and configuration.

Use exim -bP to inspect the effective configuration instead of editing a file that is not loaded. Package-generated configurations can overwrite direct edits during an update or regeneration step.

12. Final validation checklist

  • The Exim service is active and remains active after a restart.
  • The intended SMTP ports are listening on the correct interfaces.
  • A test message has a recorded message ID.
  • The main log shows a current delivery attempt for that ID.
  • Exim’s router sends the address to the intended local, remote, or smarthost transport.
  • Recipient-domain MX and address lookups succeed from the server.
  • Outbound connectivity works on the port required by the selected transport.
  • The server has a valid public FQDN and consistent forward and reverse DNS where required.
  • Relay ACLs permit only the intended authenticated users, local clients, or destinations.
  • TLS and authentication errors are resolved without disabling certificate or identity checks.
  • A final log entry shows => for each intended recipient, or records the remaining remote response clearly.

If the final entry is =>, Exim has completed its handoff. If it is still ==, the message remains a temporary delivery problem; if it is ** or frozen, use the recorded permanent error before deciding whether to correct, bounce, or remove it.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.