Why Messages Are Not Sending: Debug Checklist for WhatsApp, SMS, and Email

A three-channel checklist to find and fix a stuck or failed message fast

The WaSMS TeamSeptember 21, 20260 min read
Share

Messages not sending is one of those problems where the fix depends entirely on which channel is affected — a WhatsApp failure, an SMS failure, and an email failure look similar on the surface (nothing arrives) but come from completely different places. Work through the channel that's actually failing rather than guessing at all three.

WhatsApp: check gateway + session

If WhatsApp messages are stuck or failing, the two most common causes are the gateway process being down or the WhatsApp session having expired — both stop outbound sending completely rather than causing partial failures.

Check your Channels page first: a red "offline" badge means the gateway itself is the problem (see gateway offline: fast fixes), while a "session expired" badge means WhatsApp needs reauthorization (see WhatsApp session expired).

![WhatsApp message stuck at sent-not-delivered status](IMAGE_NEEDED:screenshot of a WhatsApp message showing a single grey checkmark stuck in sending state)

A message that shows a single grey checkmark and never progresses to delivered usually means the gateway sent it successfully but WhatsApp itself hasn't confirmed delivery yet — often because the recipient's phone is offline, not because anything on your end is broken.

SMS: check SIM + rate limit

SMS failures on an Android gateway setup are almost always one of two things: the SIM got blocked by the carrier for sending too fast, or you're hitting a rate limit you set (intentionally or not) inside WaSMS.

If messages stopped mid-campaign specifically, check SIM blocked while sending bulk SMS — this is the single most common cause of SMS suddenly failing after working fine minutes earlier. If it's failing consistently rather than mid-burst, confirm the SIM has signal and credit/balance, since an SMS gateway is still just a phone underneath.

Email: check DNS + bounces

Email failures are rarely about WaSMS itself and almost always about domain authentication or the recipient's mail server rejecting the message. Two things to check:

  1. DNS records — SPF, DKIM, and DMARC records for your sending domain need to be set up correctly, or major mail providers will reject or spam-folder your emails outright
  2. Bounce reason — a hard bounce (invalid address) is different from a soft bounce (mailbox full, temporary server issue) and needs a different fix

Email deliverability basics covers the DNS setup in detail — this is worth checking first since a missing DKIM record silently kills deliverability for every email you send, not just one.

Reading the WaSMS logs

Every send attempt, successful or failed, is recorded with a reason. This is the fastest way to know exactly what happened instead of guessing from symptoms.

# example: filtering the WaSMS message log for failures on a given channel
curl -s "https://api.wasms.net/v1/messages?status=failed&channel=whatsapp" \
  -H "Authorization: Bearer YOUR_API_KEY"

![WaSMS log view filtered to failed messages showing error reasons](IMAGE_NEEDED:screenshot of the WaSMS message log filtered by failed status with error reason column visible)

In the dashboard, the Messages log lets you filter by channel and status, and each failed row includes an error reason — "gateway offline," "invalid number," "carrier rejected," "hard bounce," and similar. That reason tells you which section above to jump to.

If delivery reports themselves aren't showing up at all rather than showing a failure reason, that's a slightly different issue covered in delivery reports missing.

Messages not sending: the quick cross-channel pattern

One thing worth noticing before you dive into logs: does the failure affect every message on a channel, or just some?

  • Everything on one channel fails — this points to something systemic: gateway offline, SIM blocked, or a DNS/authentication problem with your sending domain. Fix the channel, not individual messages.
  • Only some messages fail, scattered across recipients — this points to something per-recipient: an invalid number, a full mailbox, a phone that's switched off. These usually aren't fixable on your end and resolve themselves or simply don't, depending on the recipient's situation.
  • Only one specific recipient always fails — worth confirming the contact detail itself is correct (a typo'd digit in a phone number, a mistyped email domain) before assuming it's a WaSMS or channel problem at all.

Take an agency called Bright Signal, which noticed a batch of 200 SMS reminders had 8 failures. Checking the log showed all 8 had the same error reason — "invalid number" — and all 8 turned out to be numbers copied from a spreadsheet with a missing leading digit. That's a five-minute fix once the log points at the actual cause, instead of an hour spent assuming the gateway itself was unreliable.

When to open a support ticket

Work through the checks above first — they resolve the large majority of send failures. Open a ticket when:

  • The logs show a successful send but the recipient genuinely never received anything, across multiple messages
  • The failure reason in the logs doesn't match any explanation here
  • The issue affects one specific recipient number/address consistently while everyone else receives fine

Include the message ID and timestamp from the log when you reach out — it lets support trace the exact attempt instead of searching blind.

What to read next

Frequently asked questions

Open Messages in the dashboard and filter by status "failed" and the channel you're debugging. Each row shows an error reason in plain language — gateway offline, invalid number, carrier rejected, hard bounce — which tells you exactly which fix in this guide applies.

Related articles