SMS sending FAQ

更新时间:
复制 MD 格式

This topic provides answers and solutions to frequently asked questions about sending SMS messages.

Why do I get the error "Problem with signature real-name registration filing"?

According to the latest requirements from the Ministry of Industry and Information Technology (MIIT) and various carriers (latest announcement), SMS content providers must file their real-name qualification information. The required process for real-name registration filing varies depending on when you applied for your signature. We recommend you check whether your existing signatures require manual filing by following the signature real-name registration filing guide. If your signature has not completed this process for the corresponding carrier channel, your messages may be blocked. The carrier's real-name registration filing process takes an average of 7 to 10 business days, but can sometimes take longer. Carriers do not guarantee a specific timeline.

How do I complete the signature real-name registration filing?

Quick start

Important

Carrier filing takes an average of 7 to 10 business days, with no guaranteed timeline. For new services, you must complete all filing procedures at least 10 business days in advance to avoid impacting your business schedule.

image

To ensure your signature passes registration, follow these three core steps:

  1. Prepare your enterprise qualification: Go to the Qualification Management page and ensure you have an enterprise qualification with an 'Approved' status. You cannot use qualifications from individual accounts for this registration.

  2. Apply for a compliant signature: Go to the Signature Management page to apply for a new signature or update an existing one. We strongly recommend using the "Full or Abbreviated Name of Enterprise/Public Institution" as the signature source. This option currently has the highest approval rate and fastest turnaround time.

  3. Initiate and verify the registration:

    • Initiate filing:

      • New signatures: Click Add Signature. Filing is automatically triggered after the signature is approved.

      • Existing signatures: Find the signature, click the details link in the Carrier Registration Status column, and follow the Recommended Action to file with each carrier. If the signature is not associated with a qualification, you must first click Edit Signature to link it. Filing is triggered automatically after you link the qualification.

    • Verify the registration:

      • When the registration status changes to 'Pending Verification', continue sending test messages using mobile numbers from the three major carriers (China Mobile, China Unicom, and China Telecom). The platform will continuously monitor delivery to verify that it meets expectations.

Why is my delivery success rate low after my qualifications were approved?

  • During the initial period after qualification approval, your signature is still within the filing window. For about one week, continue sending messages in small, frequent batches using phone numbers from the three major carriers. Monitor the Analytics - Delivery Statistics page in the console to see if the overall delivery success rate improves.

  • If an existing signature is still associated with an "Alibaba Cloud account with individual real-name verification," you must upgrade to enterprise verification for your Alibaba Cloud account or apply for other qualifications, and update the signature's associated qualification information as soon as possible to comply with the current real-name requirements for signatures.

  • If you are using a signature with a source of "Test or Learning," "Online Trial," "E-commerce Store Name," "Official Account or Mini Program," or "Website with ICP Filing"Note, we recommend you stop using it. Replace it with a new signature that meets the strictest requirements and associate it with the correct qualification information to complete the carrier-side filing and ensure a high delivery success rate.

    Note: As of the announcement on March 17, 2025, regarding changes to signature application rules, these five signature sources are no longer supported for new signatures.
  • If you have sent messages with an associated signature after your qualification was approved, but the overall delivery success rate remains low or unstable for a week, check the Analytics - Delivery Records page in the console for specific failure reasons and recommendations.

  • The platform optimizes sending strategies to address issues during the real-name filing period and automatically submits filings for approved qualifications and signatures that are actively used for sending. We recommend retrying failed messages in small, frequent batches to improve channel coverage and delivery success rate.

Why do messages fail due to real-name registration when the console shows success?

A "Filing Successful" status indicates that at least one carrier sub-port has been approved. However, due to differences in the development progress of real-name filing systems across carriers, the filing speed for different sub-ports under the same signature can vary. Additionally, some carriers cannot synchronize filing results with Alibaba Cloud. As a result, some messages may be delivered successfully while others fail. We recommend you check the compliance of your signature name and then try sending messages in small, frequent batches. After observing the delivery performance, you can begin sending in bulk.

  1. Check signature name compliance: Signatures with sources like "Official Account or Mini Program," "E-commerce Store Name," "Test or Learning," "Online Trial," or "Website with ICP Filing" do not meet the latest carrier standards. We recommend applying for a new, compliant signature.

    • For signatures with the source "Enterprise or Institution Name," the signature must be the full or abbreviated name of the enterprise. If using the full name, the signature must exactly match the enterprise name. If using an abbreviation, it must be contained within the company name, include the brand name, and uniquely identify your enterprise. The abbreviation cannot be a generic term, match multiple enterprises, skip words, be out of order, or omit key information.

      Compliant example: [Hangzhou Alibaba Cloud Network Technology].
      Non-compliant examples: [Ali], [Ali Technology] (There are Ali companies in multiple regions; these are not unique). [HangLi Network], [Hangzhou Ali Net] (The signature is not fully contained within the full company name and skips words).
    • For signatures with the source "Registered Trademark," the signature must be a trademark owned by the enterprise and verifiable on the China Trademark Office website.

    • For signatures with the source "Launched App," the signature must be the name of a launched app owned by the enterprise and verifiable in the MIIT filing system.

    Please check your signature source and name. We highly recommend using "Enterprise or Institution Name" to significantly improve the success rates of both filing and message delivery. The carrier's real-name registration filing process takes an average of 7 to 10 business days, but can sometimes take longer. Carriers do not guarantee a specific timeline. You can verify the sending effectiveness of your signature by sending messages in small, frequent batches.

  2. Send in small, frequent batches: If you have confirmed that your signature source and name fully comply with the requirements for "Enterprise or Institution Name," "Registered Trademark," or "Launched App," we recommend sending messages in small, frequent batches to verify the delivery success rate.

How does the automatic supplementary registration filing mechanism work through small-batch sending?

When your signature is in the "Filed, pending verification" status or some carrier channels have not completed registration, the system automatically uses failed sending records to submit supplementary registration requests to carriers. Key points:

  1. Automatic supplementary filing: The system identifies carrier channels that have not completed registration based on failed SMS records and automatically submits supplementary filing requests.

  2. Recommended approach: Send small batches daily using phone numbers from all three major carriers (China Mobile, China Unicom, China Telecom) — about several dozen messages per day — for 3-7 consecutive days to improve channel coverage.

  3. No charges for filing failures: SMS sending failures caused by real-name registration issues are not billed.

  4. Partial success/failure: Different phone numbers may show different results because the intelligent routing system distributes messages to channels with varying registration progress.

  5. Fallback solution: Enable the verification code fallback solution during the registration transition period to ensure critical business operations are not affected.

Why are sent messages not received?

Carriers provide delivery receipts based on feedback from the recipient's device. Therefore, if a message is marked as "Sent" but not received, the issue is typically on the recipient's end. Check the following:

  • Long uptime: Try restarting the phone.

  • Full inbox: Check if the phone can receive other SMS messages.

  • Dual-SIM phone: Try moving the SIM card to the other slot.

  • Security software: Check if security software is blocking the message and moving it to a spam folder.

If the message is still not received after these checks, try moving the SIM card to a different phone to test.

Are there time restrictions for sending SMS messages?

There are no time restrictions for sending international or Hong Kong, Macao, and Taiwan messages. In the Chinese mainland, promotional messages are generally sent between 8:00 and 22:00, with special cases subject to separate rules. There are no time restrictions for notification messages or verification codes sent within the Chinese mainland.

Must signatures and templates match?

Approved signatures and message templates can be combined freely to send SMS messages, as long as the signature's use case matches the template type.

For signatures intended for verification codes, use a verification code template. For general-purpose signatures, you can use verification code, notification message, promotional message, or international/Hong Kong, Macao, and Taiwan message templates.

Can a signature cause a template to fail?

In practice, signatures and message templates are not strongly linked. The real-name registration filing for signatures does not affect your ability to use templates. You associate a signature with a new template only to increase its chance of approval. Once your templates and signatures are approved, you can mix and match them as needed.

If your message delivery success rate has dropped significantly, check the status of the signature you are using with the following steps:

  1. Compliance requirements for existing signatures: If an existing signature uses a no longer supported signature source (such as a website with ICP filing, e-commerce store name, or official account/mini program), messages sent with it will fail. The signature also risks being forcibly disabled. We recommend you stop using it and apply for a new one to ensure normal message delivery.

  2. Signature real-name registration filing: After ensuring that the signature source is compliant, check the result of the real-name registration filing for the signature, and follow the recommended actions based on the result.

Why does the SMS still show the old signature after changing the template-associated signature?

The "associated signature" shown on the template details page in the console is only used for review and audit purposes — it does not affect actual SMS delivery. The signature used for actual delivery depends on:

  • API calls: The value of the SignName parameter in your code.

  • Bulk SMS Assistant: The signature selected during sending.

Solution: Update the SignName parameter value in your business code or third-party platform configuration. Verify there are no typos in the signature name.

Do unreceived messages generate a failure receipt?

When you send messages using the API, the returned error code indicates the request status. You can also query the message sending status by using the QuerySendDetails API.

What are the bulk SMS sending limits?

You can send a message to a maximum of 100 phone numbers in a single API request. For more details, see QuerySendDetails.

What number prefixes are supported?

The service supports number prefixes provided by China Telecom, China Unicom, China Mobile, and China Broadnet. It does not support prefixes from other mobile virtual network operators (MVNOs).

What phone number segments does SMS service support? Can virtual numbers and China Broadnet numbers receive SMS?

Alibaba Cloud SMS service supports real mobile numbers from the following carriers:

  • China Mobile, China Unicom, China Telecom: All standard number segments supported.

  • China Broadnet (192 segment): Supported.

Unsupported: Virtual operator number segments other than the above four carriers are not supported.

E-commerce virtual numbers: Whether virtual numbers from e-commerce platforms can receive SMS depends on whether the underlying platform supports SMS reception. If sending shows success but the user did not receive the message, contact the virtual number platform for verification.

What should I do if users receive duplicate SMS messages?

Duplicate message reception is typically not caused by Alibaba Cloud sending duplicates. It is usually triggered by the carrier's retry mechanism when the receiving terminal fails to acknowledge the base station signal in time.

Recommended actions:

  1. Ask the user to power off the phone, remove the SIM card, wait a few minutes, then reinsert and restart.

  2. If the issue persists, try the SIM card in a different phone to rule out hardware issues.

What should I do if SMS receipt callback (Callback) configuration is not working or delivery fails?

Troubleshooting steps:

  1. Single callback URL limit: Each Alibaba Cloud account supports only one callback URL. A new configuration overwrites the previous one.

  2. HTTP batch push requirements: Your callback server must support both GET requests (for connectivity verification, must return {"code":0,"msg":"success"} within 700 ms) and POST requests (for receiving receipt data).

  3. MNS queue delivery failure: Try disabling and re-enabling the uplink message feature in the console, keeping the region at the default setting.

  4. Verification-code-only scenarios: If you only send verification codes and don't need delivery status receipts, callback configuration is not required.

How can I determine if a message was sent successfully?

Possible reasons for SMS sending failures

  • A common recent cause of failure is incomplete signature real-name registration filing. A failure may return a different error code, but the root cause is often the filing issue. Check the real-name registration filing status of your signature and take the recommended actions.

  • Flow control limits: To prevent malicious use, Alibaba Cloud imposes limits on message sending. Messages will fail if they trigger flow control.

  • Mobile number portability: In most cases, messages to ported numbers are delivered successfully. However, failures can occur if a carrier has not updated its routing information promptly or if the number was ported within the last 24 hours.

  • Carrier interception: The message content may trigger a carrier's review mechanism, causing the message to be blocked.

  • Abnormal device status: Delivery may fail due to a poor network signal at the recipient's device.

  • Blacklist: The recipient's number may have been added to a carrier's blacklist due to a complaint or an unsubscribe request.

  • International roaming: Successful delivery during international roaming is not guaranteed and depends on the roaming agreements between carriers.

  • Carrier filtering: Some carriers filter messages based on "sensitive keywords" in the content.

  • Account balance < 0: Messages to the Chinese mainland cannot be sent if your account balance is less than zero, even if you have a remaining balance in your SMS resource plan.

Why does sending fail with "params must be [a-zA-Z0-9] for verification sms"?

This error indicates that the template variable for verification code SMS (such as ${code}) contains non-alphanumeric characters. Verification code SMS requires variable values to contain only pure digits or English letters.

Common causes: Variables containing spaces, Chinese characters, punctuation, or passing the entire SMS text instead of just the verification code.

Solution: Ensure the verification code variable value consists of only 4-6 pure digits or English letters (e.g., "1234" or "AbC1").

Related error codes: isv.TEMPLATE_PARAMS_ILLEGAL, TemplateParam.Error, Error code 123.

How to retrieve user replies?

You can retrieve inbound (MO) messages using the consumer mode of Message Service (MNS) or the HTTP batch push mode. For more details, see Configure delivery receipts.

Can the sender number be fixed?

No. The system uses intelligent scheduling to ensure each message is sent through the optimal channel. As a result, the access number will vary.

How are batches with invalid numbers handled?

When you send messages in a batch, each phone number in the batch is processed independently. A failure for one or more numbers does not affect the delivery to other numbers in the batch.

Display number and sender ID rules

The number displayed on the recipient's phone is a standard number starting with 106 (channel number + extension code), which is randomly assigned by the carrier. A fixed number is not supported. Cloud Communication uses intelligent channel routing. In case of channel instability, network jitter, or other unforeseen events like data center power outages, the system automatically switches channels, which causes the channel number to change.

Bulk SMS Assistant: sending and import limits

A file imported into the Bulk SMS Assistant cannot exceed 3 MB. We recommend importing no more than 500,000 numbers at a time.

The number of messages sent via the Bulk SMS Assistant is separate from the limits for standard verification codes. However, do not send more than 40 verification code messages to the same number within a 24-hour period, as any additional messages will be blocked by the system. For more details, see Send bulk messages.

Why do messages to the US and Canada keep failing?

To ensure successful delivery, local telecommunication laws require senders to register a Toll-Free Number (TFN) in advance.

Besides TFN registration, what else causes failures when sending to the US and Canada?

Additional factors that can cause delivery failures to the US and Canada:

  1. Virtual/VoIP numbers have low success rates because many carriers filter messages to these numbers.

  2. Content must comply with local regulations — avoid financial promotions, gambling content, and other restricted categories.

  3. Avoid sending during local nighttime hours to reduce the likelihood of carrier-side filtering.

What message types can be sent to Vietnam?

  • If you have not filed a SenderID, you can only send OTP (One-Time Password) messages to Vietnam. These messages will be converted to text-to-speech calls to ensure OTP delivery.

  • If you have filed a SenderID, you can send OTP, promotional, and notification messages to Vietnam.

Why is my message status stuck on "Sending"?

When the system does not receive a delivery receipt from the carrier for an extended period, the message status will show as "Sending." This can occur if the recipient's phone is invalid, powered off, out of service, in airplane mode, or has an unstable signal. If the recipient's device becomes available within 72 hours, the status will be updated. If the device remains unavailable, the message will eventually be marked as failed.

Why do I see blacklist-related error codes like W-BLACK?

Carriers have implemented strict blocking mechanisms to reduce complaints about spam messages.

A blacklist is a protective measure to shield users from unwanted messages. If a user has filed a complaint about a message through platforms like 12321, their carrier, or the MIIT, any future messages sent to that number using the same signature will return a blacklist-related error code.

Why is there no record for a failed message?

Check your sending history. If there is no record, the API call may have failed or the request was never sent from your application.

  • If the API call failed, check your local delivery receipts or logs. Refer to the API error codes to find the reason for the failure.

  • If the request was not sent, check your local application for any exceptions or errors.

What are the SMS flow control limits?

To prevent malicious use, Alibaba Cloud imposes the following limits on message sending. Messages that exceed these limits will fail.

Important

The following rules apply only to messages sent to the Chinese mainland. They do not apply to Hong Kong (China), Macao (China), Taiwan (China), or other countries and regions.

Message type

Sending limit description

Verification code

  • By default, you can use the same signature to send a maximum of 1 verification code per minute, 5 per hour, and 10 per day to the same mobile phone number.

  • You can use Short Message Service to send a maximum of 40 verification codes per day to the same mobile phone number.

    This daily limit is based on the mobile phone number and applies even if there are multiple senders.

Notification

You can use the same signature and SMS template code to send a maximum of 50 notifications per day to the same mobile phone number.

Promotional message

You can use the same signature and SMS template code to send a maximum of 50 promotional messages per day to the same mobile phone number.

Note
  • The limits of "1 per minute" and "5 per hour" are based on fixed time windows. These windows align with the clock minute and hour in the UTC+8 time zone. For example, 14:03:00 to 14:03:59 is a one-minute window. The limits are not based on a tumbling window that starts when you send a message.

  • A day is a 24-hour period that starts when a message is sent. For example, if you send a message at 11:00 on August 24, 2017, the system checks the daily limits (40 for verification codes, 50 for notifications, and 50 for promotional messages) until 11:00 on August 25, 2017.

  • A message counts toward the sending limit as soon as it is submitted. A submission is successful if you add a sending task in the console or make a successful API request. This applies regardless of whether the message is delivered.

How is the flow control period calculated?

The start and end times for rate limiting statistics are described as follows:

  • Daily rate limiting: The counting period begins at the time an SMS message is sent and spans 24 hours. For example, if a verification code SMS is sent at 11:00 on August 24, 2017, the daily rate limiting statistics — including whether verification codes have reached the limit of 40, notification SMS messages have reached 50, and promotional SMS messages have reached 50 — will be counted until 11:00 on August 25, 2017.

  • Minute/Hourly rate limiting: Statistics are calculated on a full-hour basis. For example, for the one-hour window from 11:00 to 12:00 on August 24, 2017, all SMS messages sent within that period are counted toward the rate limiting statistics for that hour.

How to handle failures caused by flow control?

You can add specific numbers to a whitelist to bypass flow control limits. For more information, see Configure Sending Frequency.

Why is flow control triggered for a whitelisted number?

After you add a number to the whitelist, Alibaba Cloud will no longer apply its flow control limits to that number. If you still receive a minute-level or hour-level flow control error (starting with "GB"), it means the number has triggered the carrier's flow control limits. For more details, see SMS sending frequency limits.

What to do when GB-prefixed flow control errors persist after whitelisting?

Distinguish between Alibaba Cloud flow control (removed by whitelist) and carrier flow control (cannot be removed by whitelist). GB:0001/GB:0002/GB:0003 errors indicate carrier-side frequency limits. Solution: reduce sending frequency or wait for the daily/monthly reset.

Are there flow control limits for international messages?

Yes, there is a flow control limit: you can send no more than 20 messages to the same mobile number per day.

Can flow control limits be disabled?

No. To prevent malicious use and high-volume sending requests in a short period, Alibaba Cloud enforces flow control limits that cannot be directly disabled.

If you are an enterprise-verified user, you can add numbers to a whitelist in the Short Message Service console. Whitelisted numbers are not subject to sending frequency limits. For more information, see Configure Sending Frequency.

How to cancel a message being sent?

You cannot cancel a message that is currently being sent, nor can you delete its sending record.

Can I recall a sent message?

Once a message is submitted, it cannot be recalled, regardless of whether its status is "Sending," "Sent," or "Failed."

Can I send SMS messages automatically?

Use the Bulk SMS Assistant in the Short Message Service console and set a scheduled task to send messages automatically. For more details, see Send bulk messages.

Why do I get the error "Signature and template types do not match"?

This can happen if the message template and signature types are inconsistent. For example, using a verification code signature to send a notification message or promotional message.

For signatures intended for verification codes, use a verification code template. For general-purpose signatures, you can use verification code, notification message, promotional message, or international/Hong Kong, Macao, and Taiwan message templates.

How long until an "Unknown" status is updated?

An "Unknown" status means the message is still in the process of being sent.

  • If the recipient's device receives the message within 72 hours, the status will be updated to "Sent." If it is not received, the status will be updated to "Failed."

  • If the status remains "Unknown" after 72 hours, it will not be updated.

Why is the leading zero missing from my verification code?

This occurs if you pass the verification code in the wrong format. When passing thecodevalue, ensure it is in a string format within a JSON object. Otherwise, the leading zero is dropped.

Incorrect example:TemplateParam = {code:0207}

Correct example:TemplateParam = {"code":"0207"}

Note
  • If your JSON needs to include line breaks, follow the standard JSON protocol.

  • For more information on template variable specifications, see SMS template guidelines.

How to select and bind signatures and templates?

Signatures and message templates are not linked and do not need to be bound.

After your templates and signatures are approved, if a signature's use case is for verification codes, pair it with a verification code template. If a signature's use case is general, you can pair it with any message template.

Can I restore a deleted signature or template?

Deleted signatures and message templates cannot be restored. You must reapply for a new signature and template. You can resume sending messages only after they are approved.

Should phone numbers include a "+" or "00" prefix?

Use the following phone number formats:

  • For messages to the Chinese mainland: 11-digit mobile numbers are accepted with or without the prefixes +, +86, 0086, or 86. For example: 1590000****.

  • For international or Hong Kong, Macao, and Taiwan messages: Use the format [Country/Region Code][Number]. For example: 852000012****.

    Important

    When dialing numbers in international locations or in Hong Kong, Macao, and Taiwan, be sure to adjust the number format. For example, when dialing a local number in Vietnam, you typically use the full number including the area code (e.g., 04987654321, where 04 is the area code). However, when dialing internationally, you must combine the country code (e.g., 84 for Vietnam) with the local number and remove the leading 0 from the local number. The final format would be 844987654321. This format must be used when uploading numbers to the sending platform.

Why does sending history mismatch the actual sent count?

A mismatch can occur because sending attempts and billable messages are counted differently.

  • The sending history is counted by the number of sending attempts. For details on how messages are sent, see SMS sending rules.

  • The actual number of messages sent is counted for billing purposes. For details on billing, see Billing overview.

How to remove a restriction after a user unsubscribes?

When a recipient replies "R" to a promotional message, they are opting out of receiving promotional messages from that signature. The sender cannot remove this restriction.

What to do if my promotional messages are blocked?

Promotional messages are often blocked by security software on mobile devices as part of the device manufacturer's anti-spam policies. Cloud Communication cannot intervene in or adjust these policies. We recommend optimizing your message content.

Why do received messages contain question marks?

Some mobile devices do not correctly display special characters. Consider the following suggestions:

  • Check if your message template or template variable parameters contain any invisible characters. If so, remove them and resend the message.

  • If you cannot easily change the template or variable parameters, try resending the message to a different mobile phone.

Does the service automatically resend failed messages?

The service does not automatically resend failed messages. To resend failed messages, go to the Short Message Service console, navigate to the sending history page, export the failed numbers, and resend the message by calling the API or using the Bulk SMS Assistant.

Will a user receive a message if their phone was off?

  • For messages with a "Sending" or "Pending Receipt" status, the user will receive the message when they turn their phone back on.

  • For messages with a "Failed" status, the user will not receive the message when they turn their phone back on.

Why are my sending frequency settings not taking effect?

Check whether the number of messages sent has already exceeded your configured frequency or the maximum value allowed by Alibaba Cloud's flow control limits. We recommend adjusting the sending frequency. If the maximum limit has been reached, wait 24 hours before trying to send again.

What does the error "Message blocked due to content keywords" mean?

  • Signatures that are ambiguous, all-numeric, or do not clearly point to a specific brand are not supported. For more details on specifications, see Signature specifications.

  • Content keyword blocking is an automatic process where carriers intercept messages containing potentially risky or high-complaint keywords. The blocking rules vary by carrier. Please review your message content and revise it accordingly. For example, notification templates cannot contain promotional content, promotional messages must include an option to unsubscribe, and messages related to financial services are not currently supported. For more details on specifications, see Message template specifications.

  • The failure may be due to an unstable signal on the recipient's device. We recommend restarting the phone or moving to an area with better signal and trying again.

  • Check if the root account and sub-accounts used for sending are in an abnormal state. If a sub-account engages in non-compliant or high-risk behavior, it can cause messages to be blocked due to content keywords. For example, ensure you regularly change login passwords and update your AccessKeys.

  • You can also check the delivery receipt error codes for the specific reason.

  • Traffic-diversion information blocking: Even if a template has passed review, messages containing the following high-risk information may still be blocked by carriers in real time:

    • IP addresses

    • WeChat IDs, QQ numbers, and other contact information

    • Long number strings (such as order numbers or dates that may be misidentified)

    Note

    Carrier keyword blocking rules are not publicly disclosed, and enforcement varies across carriers and time periods.

    Recommendations:

    1. Remove all contact information and links from SMS content.

    2. Apply desensitization or formatting to long numbers (e.g., use hyphens: 2024-0616-1234).

    3. Avoid including promotional content in notification-type SMS.

Why is SMS delivery severely delayed?

SMS delivery delays can be caused by several factors:

  • Carrier channel congestion: During peak hours (such as holidays or promotional events), carrier gateways may queue messages, resulting in delays of minutes to hours.

  • Network fluctuations: Temporary network issues between Alibaba Cloud and the carrier gateway can delay message submission.

  • Terminal issues: The recipient's phone may be in a weak signal area, powered off, or in airplane mode, causing the message to be queued by the carrier until the device becomes available.

Delivery delays are not related to the review method used for your template or signature.

API returns Code OK but SMS not received — how to troubleshoot?

A Code: OK response only means the request reached the Alibaba Cloud gateway successfully. It does not guarantee message delivery. To troubleshoot:

  1. Check whether the signature has completed real-name registration filing and is in an approved status.

  2. Review the sending records in the console to check the delivery status and error codes for each message.

  3. Check the carrier delivery receipt. A "success" receipt confirms delivery to the carrier gateway, while a "failure" receipt provides the specific reason.

AccessKey leak risk or Forbidden error

If you receive a "Forbidden" error, your AccessKey (AK) may have been automatically disabled by Alibaba Cloud's security system due to a detected leak risk (for example, the AK was exposed in a public code repository).

Solution:

  1. Disable the compromised AccessKey immediately in the RAM console.

  2. Create a new RAM sub-account and generate a new AccessKey pair.

  3. Check whether IP-based access restrictions or security policies are blocking your requests.

"Abnormal sending behavior" or "Unclear scenario" error

This error typically occurs when:

  • Your business has not been officially launched yet, and the SMS content does not match a clearly defined use case.

  • The sending scenario is unclear — for example, the template content is vague or does not align with your registered business.

  • The message content has compliance issues, such as containing prohibited or restricted content.

Related error code: isv.SMS_CONTENT_ILLEGAL.

API call fails or no sending records — program-side troubleshooting

If your API call fails or no sending records appear in the console, follow these troubleshooting steps:

  1. Test via OpenAPI portal: Use the Alibaba Cloud OpenAPI portal to send a test message and verify whether the API itself works correctly.

  2. Check code logs and SDK: Review your application logs for error messages. Ensure your SDK version is up to date and the request parameters are correctly formatted.

  3. Verify network connectivity: Ensure your server can reach the Alibaba Cloud SMS API endpoint without firewall or proxy interference.

  4. Check test signature usage: If you are using a test signature, ensure you have bound a test phone number and are using the corresponding test template.

Why are messages still blocked after template approval and filing supplementary materials?

Carrier blocking is dynamic and probabilistic. Even after your template is approved and supplementary filing materials are submitted, messages can still be blocked for the following reasons:

  • Filing is a prerequisite for delivery, not a guarantee. Carriers apply real-time content inspection that may block messages independently of the filing status.

  • Carrier blocking rules are updated frequently and vary by region, time period, and carrier.

  • If blocking persists after filing is fully complete, consider using alternative delivery channels or optimizing your message content to avoid triggering carrier filters.

How long is the SMS sending history stored?

Detailed records of sent SMS messages are stored for three years. If you need to retain records for a longer period, we recommend calling the QuerySendDetails API to retrieve the sending records and storing them yourself for future reference.

Why does the console show "Sent successfully" when the SMS was blocked by phone anti-spam software?

Carrier receipts are based on gateway delivery status. When an SMS reaches the terminal but is blocked by security software (such as 360 Mobile Guard), the carrier still returns a "success" receipt. Alibaba Cloud cannot detect terminal-side blocking. Only carrier-side blocking (such as keyword filtering) returns a "failure" receipt.

Why does the sending history show asterisks (*)?

To protect sensitive information, the sending history in the Short Message Service console masks parts of the message content, such as numbers and letters, with asterisks (*). The recipient receives the complete, unmasked message. To retrieve the full, unmasked content, call the QuerySendDetails API.

Video: Causes and solutions for sending failures

Do I still need to keep sending SMS after enabling the verification code fallback solution?

Yes. The fallback solution is a temporary measure during the registration filing transition period. It does not replace the real-name registration filing process. You must continue sending messages in small batches to help complete the supplementary filing for carrier channels. Once all channels are fully registered, the fallback solution is no longer needed.

Why is the verification code fallback solution not working?

Check the following common causes:

  • Activation delay: The fallback solution takes approximately 10 minutes to take effect after being enabled.

  • Variable format: The verification code variable must be ${code}. Other variable names are not supported by the fallback mechanism.

  • Trigger conditions: The fallback only triggers on delivery failures that are not caused by flow control. Flow-control failures are not eligible for fallback.

  • SMS type: The fallback solution supports verification code SMS only. Notification and promotional messages are not eligible.

  • Account permissions: Ensure your account has the necessary permissions to use the fallback feature.

Why do received messages show unfamiliar signatures after enabling the fallback solution?

When the fallback solution is activated, messages that fail with your custom signature are automatically resent using a system fallback signature. These system signatures are pre-registered and have higher channel coverage. The unfamiliar signature in the received message indicates that the fallback mechanism was triggered because your custom signature could not deliver the message through the original channel.

How to disable the verification code fallback solution?

The fallback solution can only be disabled through the console — API-based disabling is not supported. After you disable the feature, it takes approximately 10 minutes for the change to take effect.

Important

If your custom signature has not yet completed real-name registration filing across all carrier channels, disabling the fallback may cause verification code delivery failures for some recipients.

Can the fallback solution guarantee 100% delivery success? Does it support notification SMS?

No. The fallback solution improves delivery success rates but cannot guarantee 100% delivery. Some messages may still fail due to carrier-side restrictions or terminal issues. The fallback solution supports verification code SMS only — notification and promotional messages are not eligible. Additionally, fallback-delivered messages may experience an inherent delay of approximately 1 minute compared to direct delivery.

Console test vs. API test — what is the difference?

Both methods use the same underlying SMS channels, but they differ in scope:

  • Console test: Limited to bound test phone numbers. Uses test signatures and templates. Suitable for quick verification before production deployment.

  • API test: Can send to any phone number using any approved signature and template. Provides full flexibility for integration testing.

Long variable SMS and character limits

After the variable length limit is removed, a single variable can exceed 35 characters. However, the total SMS content (including the signature and all variable values) must not exceed 500 characters.

The console may still enforce a 35-character frontend limit for variable input fields. To send messages with longer variables, use Excel import in the Bulk SMS Assistant or call the API directly.

Scheduled bulk sending mechanism

When you schedule a bulk send, the system processes all messages concurrently rather than sequentially. Approximately 2,000 messages can be processed within minutes. The actual delivery speed is controlled by the carrier gateway capacity and your account's QPS (queries per second) limit.

Recommended receipt mode for large bulk sending

For bulk sends exceeding 10,000 messages, we recommend using the MNS (Message Service) consumption mode to receive delivery receipts. The HTTP batch push mode may experience delays or data loss under high concurrency, while MNS provides reliable, queue-based receipt delivery.

Virtual number bulk sending qualification requirements

Bulk sending through virtual numbers requires enterprise qualification verification. Personal accounts or accounts without proper enterprise qualification cannot send messages through virtual number channels. Ensure your Alibaba Cloud account has completed enterprise real-name verification before using this feature.

What is the OutId parameter?

The OutId parameter is an optional external tracking ID that you can include in your send request. It is returned in delivery receipts, allowing you to correlate receipts with your internal business records. The SmsUpExtendCode parameter serves a similar purpose for uplink message tracking.

Does API international SMS require console setup?

No. To send international SMS via the API, you only need to pass the recipient's phone number with the country code (e.g., 852000012****). No additional console setup is required for API-based international sending. The Bulk SMS Assistant for international messages is a separate feature with its own configuration.