MMS charges, MMS not arriving, and how it really differs from SMS

On this page
  1. The real difference between MMS and SMS: they take different routes
  2. Charges: three different costs, routinely conflated
  3. Six reasons an MMS never arrives
  4. Two ways a business can send MMS
  5. Hong Kong compliance: what send_also_ofca_registrants really means
  6. FAQ

Key takeaways

  • The real difference between MMS and SMS is the route: SMS needs no data connection, while MMS travels over a data connection.
  • An MMS charge can mean three separate costs: the carrier plan, data usage, and the platform cost of sending at scale.
  • Enterprise MMS is billed per message successfully submitted to the carrier, regardless of whether the recipient ever taps download.
  • The most common reason an MMS never arrives is mobile data being off with only Wi-Fi on.
  • When sending MMS through the X Lead Connect API, image dimensions must not exceed 800 × 800 px.

After years in messaging, the questions we get about MMS come down to four. Customers ask them, colleagues ask them, and so does anyone who has just seen an odd-looking message on their phone.

QuestionThe situation behind it
What is MMS, and what is a multimedia message?A message arrived that looks different from usual
How is MMS different from SMS?Deciding whether this is worth caring about
Does MMS cost anything? What is an off-net transmission fee?An unexplained line on the bill
Why won’t an MMS arrive?The image is stuck spinning and never downloads

We have already answered the first one — What is MMS? How it differs from SMS, what it costs, and when to use it. This piece takes the other three, because they are the ones nobody answers properly, and they are exactly what you need to understand before sending MMS at scale.

The real difference between MMS and SMS: they take different routes

Most articles will tell you MMS carries pictures and SMS carries text. True, but beside the point. The point is that the two do not travel the same way.

SMSMMS
TransportThe carrier’s signalling channel — no data connection neededThe handset uploads over a data connection to the carrier’s MMSC; the recipient’s handset downloads from theirs
ContentPlain text, 160 characters per segment (70 with any Unicode)Text plus image / animation / short video, and long text stops being chopped into segments
What the recipient must doNothing, it appearsMay have to tap “download”, and needs data at that moment
How it failsUsually number, routing or list problemsAll of the above, plus the data leg
Enterprise billing unitPer segmentPer message

In one line: SMS fails on signal or list problems; MMS can additionally fail on the leg that moves the media. Everything below grows out of that.

(On why SMS bills per segment and why Chinese characters cut you to 70, see SMS billing segments and Unicode.)

Charges: three different costs, routinely conflated

People searching “MMS charge” may be asking about any of three unrelated things.

1. The carrier plan

A consumer handset sending an MMS is usually charged per message, and on-net versus off-net can be priced differently — which is where terms like “off-net transmission fee” come from. Receiving may be free, or may just consume data, depending on the plan.

Only your own tariff can answer the amount. We do not quote carrier pricing on anyone’s behalf — check your plan or your statement.

2. Data usage

The media in an MMS moves over a data connection. Some plans carry MMS on a dedicated APN and exclude it from your data allowance; others simply count it. That is why data can tick down when you have not opened a browser.

3. The platform cost of sending at scale

This one is unrelated to the two above. Sending MMS through a platform is billed per message successfully submitted to the carrier — regardless of whether the recipient had data on, or ever tapped download.

That distinction matters and it catches people out: billing happens at the moment of successful submission, not at the moment of reading. The mechanics are in the next section.

If your message is plain text but long, “one MMS or three SMS segments” is a real arithmetic question — we did the maths in A smarter way to save when a message runs past two SMS segments.

Six reasons an MMS never arrives

Ordered by how often we actually see them.

#CauseWhat it looks likeHow to confirm
1Mobile data off, Wi-Fi onlySMS is fine, MMS hangs on downloadTurn mobile data on and retry
2Wrong APN settingsStarts failing after a SIM swap, new handset or network resetCompare against the carrier’s published APN
3File over the carrier’s size limitSends fine, arrives broken or not at allCompress the asset; enterprise limits below
4Auto-download disabledJust a greyed-out “download” buttonThe messaging app’s MMS settings
5iMessage / RCS confusionFine between iPhones, breaks cross-platformBlue bubbles are iMessage; only green ones are SMS/MMS
6Corporate network or VPNDisproportionately common on company-issued devicesMMS must reach the carrier’s MMSC; a VPN that reroutes it breaks delivery

Point 5 deserves a sentence more. iPhones have supported RCS since iOS 18 and Android has been largely RCS between handsets for years, so a growing share of “looks like MMS” rich messages are actually RCS. For enterprise sending in Hong Kong, though, SMS and MMS remain the widest-reaching, verifiably-delivered common denominator — business RCS coverage is still being built out. We are not going to tell you RCS has replaced MMS, because for Hong Kong business sending it has not.

Two ways a business can send MMS

One: the dashboard, and you are sending within minutes

Most customers never touch the API. The whole job runs from the UFOSEND / X Lead dashboard: upload the list, drop in the image, write the copy, pick a send time. The interface walks through it in order, and a first-time user is usually sending within a few minutes. Results, per-message delivery status and link clicks all come back to the same dashboard. For a tour of the dashboard and its reports, see Inside the SMS platform — dashboard and reporting.

If the requirement is “push this month’s offer”, the dashboard is enough. No engineer required.

Two: the API, so your own systems can send

The API is for when an order system, CRM or membership platform needs to trigger MMS automatically — an e-voucher when an order completes, a birthday offer that goes out on the day.

What follows is the actual X Lead Connect specification, not generic “industry guidance”. Sending one MMS is POST /v1/mms/send, one recipient per call:

ParameterRequiredNotes
country_codeYesRegion code, 1–3 digits, no leading zeros
mobileYesRecipient’s mobile number, maximum 10 digits
senderNoSender name, 3–11 alphanumeric characters. Required in regions supporting Sender ID
subjectYesMessage subject
textYesMessage body text
imageNoImage object with source, value and mime_type. Required in some regions
send_also_ofca_registrantsNoDefaults to false, Hong Kong delivery only

Hard limits on the image:

  • source is either base64 or url
  • mime_type supports image/jpeg, image/png and image/gif
  • Dimensions must not exceed 800 × 800 px

Full parameter reference, response examples and code snippets in six languages are in the X Lead Connect API documentation; integration and quickstart are on the SMS API page.

”Submitted” is not “delivered”

The synchronous response only means the platform accepted the request and handed you a ref_id. The real outcome comes back in two callbacks.

First callback (send request report) — this is what decides billing.

  • rc = 100, status SMD: a valid send, submitted to the carrier, charged
  • rc = -100: not charged. Common reasons are IM (incorrect country/mobile number), OFCA (number filtered as a Hong Kong do-not-call registrant), IUL (on the unsend list), IP (insufficient points), IS (sender name invalid or unregistered)

Second callback (delivery report / DLR) — the carrier’s final state: DELIVRD, EXPIRED, UNDELIV, REJECTD or UNKNWN.

If your reporting only records the synchronous response, it is telling you how many HTTP requests you issued. The full breakdown is in SMS DLR status codes explained.

Hong Kong compliance: what send_also_ofca_registrants really means

An MMS to a Hong Kong mobile number is a commercial electronic message in law, regulated by the Unsolicited Electronic Messages Ordinance exactly as SMS is — sender information, an unsubscribe facility, honouring unsubscribes within 10 working days, and no sending to numbers on the do-not-call registers.

send_also_ofca_registrants defaults to false, meaning the platform screens registered numbers out for you by default. Setting it to true is a declaration that you hold those recipients’ consent — and the burden of proving it sits with you, not the platform. It is not a “boost deliverability” switch.

The full checklist is in Hong Kong promotional messaging compliance checklist.

FAQ

Does MMS need mobile data to be received?
Yes. The media travels over a data connection. On Wi-Fi only with mobile data off, the notification may arrive but the download will fail.

Am I charged for receiving an MMS?
It depends on your plan. Most plans charge per message sent; receiving may only consume data. Check your own tariff — there is no universal answer.

Which costs more, MMS or SMS?
Message for message, MMS usually costs more than a single SMS segment. But once a message runs to three or more segments, one MMS is often cheaper and will not be split.

Why do some people get my picture message and others don’t?
Usually the recipient’s device or network state differs: data off, wrong APN, auto-download disabled, or they are on iMessage with another iPhone user while you are not.

Is there a character limit on MMS?
The text is not segmented the way SMS is at 160/70 characters, but for readability and compatibility keep the body to a few hundred characters and the subject much shorter.

What are the image limits for enterprise MMS?
On X Lead Connect: JPEG, PNG or GIF, no larger than 800 × 800 px, supplied as base64 or a URL.

Will RCS replace MMS?
That is the long-term direction, and iPhones have supported RCS since iOS 18. But for business sending in Hong Kong, RCS channel coverage is still being built out, and SMS and MMS remain the widest-reaching option with per-message delivery reporting.

Do I need a registered Sender ID to send MMS to Hong Kong numbers?
The sender parameter applies in regions that support Sender ID, and the name must be registered on your account first — otherwise the first callback returns IS. The Hong Kong # Sender ID process is in The complete # Sender ID application walkthrough.