|
|
10 miesięcy temu | |
|---|---|---|
| .. | ||
| README.md | 10 miesięcy temu | |
| requirements.txt | 10 miesięcy temu | |
| send.conf | 10 miesięcy temu | |
| send_international_sms.py | 10 miesięcy temu | |
| start_prod.sh | 10 miesięcy temu | |
| status_prod.sh | 10 miesięcy temu | |
| stop_prod.sh | 10 miesięcy temu | |
使用阿里云 SMS 服务发送国际短信的独立 Python 脚本。
pip install -r requirements.txt
或直接安装:
pip install alibabacloud-dysmsapi20180501
AccessKey 已直接配置在脚本中(main() 函数),无需额外配置环境变量。
如需修改 AccessKey,请编辑 send_international_sms.py 文件中的以下变量:
ACCESS_KEY_ID = 'LTAI5tQ6iFj9XMSZygRhKL4F'
ACCESS_KEY_SECRET = 'eXEfRLenQfOCLWkj307jv48rBUWNHK'
| 国家/地区 | 注册要求 |
|---|---|
| 美国、加拿大 | 需完成 10 DLC 注册,使用运营商提供的 Sender ID |
| 新加坡 | 需在 IMDA 完成 SSIR 注册的 Sender ID |
| 其他地区 | 支持 Sender ID 发送,数字+字母最长11位,纯数字最长15位 |
from send_international_sms import InternationalSMSClient
# 创建客户端
client = InternationalSMSClient(
access_key_id='your-access-key-id',
access_key_secret='your-access-key-secret'
)
# 发送验证码短信
result = client.send_sms(
to="6212345****01", # 国际区号+号码
message="Your verification code is 123456",
sender_id="Alicloud", # 已注册的 Sender ID
sms_type=InternationalSMSClient.TYPE_OTP
)
if result["success"]:
print(f"发送成功! 消息ID: {result['message_id']}")
else:
print(f"发送失败: {result['error']}")
python send_international_sms.py
| 参数 | 类型 | 必选 | 说明 |
|---|---|---|---|
| To | String | 是 | 接收短信号码,格式:国际区号+号码,例如 "8521245567****" |
| From | String | 是 | 发送方标识(Sender ID),需根据目标国家完成相应注册 |
| Message | String | 是 | 短信完整内容(美国、加拿大需填写报备内容) |
| Type | String | 是 | 短信类型:OTP(验证码)/ NOTIFY(通知)/ MKT(推广) |
| TaskId | String | 否 | 任务 ID,长度不超过 255 个字符 |
| ValidityPeriod | Integer | 否 | 短信有效时长,单位:秒 |
| ChannelId | String | 否 | 通道 ID |
成功响应示例:
{
"success": true,
"response_code": "OK",
"response_description": "The SMS Send Request was accepted",
"message_id": "1008030300****",
"request_id": "F655A8D5-B967-440B-8683-DAD6FF8DE990",
"segments": "1",
"to": "8521245567****",
"from": "Alicloud321",
"number_detail": {
"carrier": "CMI",
"country": "Hongkong,China",
"region": "HongKong"
}
}
失败响应示例:
{
"success": false,
"error": "错误信息",
"request_id": "xxx"
}
ap-southeast-1(新加坡)dysmsapi.ap-southeast-1.aliyuncs.com2018-05-01