下载mns

wget http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/32305/cn_zh/1490269182462/aliyun-mns-python-sdk-1.1.4.zip

解压

unzip aliyun-mns-python-sdk-1.1.4.zip

安装

cd mns_python_sdk
su - root
python setup.py install

运行

from mns.account import Account
from mns.topic import DirectSMSInfo, TopicMessage
from mns.mns_exception import MNSExceptionBase
'''
Step 1. 获取主题引用
'''
# 从https://account.console.aliyun.com/#/secure获取$YourAccountid
# 从https://ak-console.aliyun.com/#/accesskey获取$YourAccessId和$YourAccessKey
# 从http://$YourAccountId.mns.cn-hangzhou.aliyuncs.com获取$YourMNSEndpoint, eg. http://1234567890123456.mns.cn-hangzhou.aliyuncs.com
my_account = Account("$YourMNSEndpoint", "$YourAccessId", "$YourAccessKey")
my_topic = my_account.get_topic("$YourTopicName")
'''
Step 2. 设置SMS消息体(必须)
注:目前暂时不支持消息内容为空,需要指定消息内容,不为空即可。
'''
msg_body1 = "sms-message1."
msg_body2 = "sms-message2."
'''
Step 3. 生成SMS消息属性,single=False表示每个接收者参数不一样,
'''
# 3.1 设置SMSSignName和SMSTempateCode
direct_sms_attr1 = DirectSMSInfo(free_sign_name="$YourSignName", template_code="$YourSMSTemplateCode", single=False)
# 3.2 指定接收短信的手机号并指定发送给该接收人的短信中的参数值(在短信模板中定义的)
direct_sms_attr1.add_receiver(receiver="$YourReceiverPhoneNumber1", params={"$YourSMSTemplateParamKey1": "$Value1"})
direct_sms_attr1.add_receiver(receiver="$YourReceiverPhoneNumber2", params={"$YourSMSTemplateParamKey1": "$Value2"})
'''
Step 4. 生成SMS消息属性,single=True表示每个接收者参数一样
'''
direct_sms_attr2 = DirectSMSInfo(free_sign_name="$YourSignName", template_code="$YourSMSTemplateCode", single=True)
direct_sms_attr2.add_receiver(receiver="$YourReceiverPhoneNumber1")
direct_sms_attr2.add_receiver(receiver="$YourReceiverPhoneNumber2")
direct_sms_attr2.set_params({"$YourSMSTemplateParamKey1": "$Value"})
'''
#Step 5. 生成SMS消息对象
'''
msg1 = TopicMessage(msg_body1, direct_sms = direct_sms_attr1)
msg2 = TopicMessage(msg_body2, direct_sms = direct_sms_attr2)
try:'''Step 6. 发布SMS消息'''re_msg = my_topic.publish_message(msg1)print "Publish Message Succeed. MessageBody:%s MessageID:%s" % (msg_body1, re_msg.message_id)re_msg = my_topic.publish_message(msg2)print "Publish Message Succeed. MessageBody:%s MessageID:%s" % (msg_body2, re_msg.message_id)
except MNSExceptionBase,e:if e.type == "TopicNotExist":print "Topic not exist, please create it."sys.exit(1)print "Publish Message Fail. Exception:%s" % e

例如

# -*- coding: utf-8 -*-
import os
import random
from mns.account import Account
from mns.topic import DirectSMSInfo, TopicMessage
from mns.mns_exception import MNSExceptionBase
from mns.mns_tool import MNSLogger
'''
Step 1. 获取主题引用
'''
# MNSLogger.get_logger的参数:
# log_name: 默认为 mns_python_sdk
# log_file: 默认为 mns所安装路径下的mns_python_sdk.log文件, 如果不是root用户, 一般情况下是没有权限写该文件.
# log_level: 默认为 INFO
log_file = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'mns_python_sdk.log')
logger = MNSLogger.get_logger(log_file=log_file)
my_account = Account("http://xxxxxx.mns.cn-beijing.aliyuncs.com/", "xxxxxx", "xxxxxx", logger=logger)
my_topic = my_account.get_topic("sms.topic-cn-beijing")
'''
Step 2. 设置SMS消息体(必须)
注:目前暂时不支持消息内容为空,需要指定消息内容,不为空即可。
'''
msg_body2 = "sms-message2."
'''
Step 4. 生成SMS消息属性,single=True表示每个接收者参数一样
'''
direct_sms_attr2 = DirectSMSInfo(free_sign_name="xxxxxx", template_code="xxxxxx", single=True)
direct_sms_attr2.add_receiver(receiver="xxxxxxxxxxx")
direct_sms_attr2.add_receiver(receiver="yyyyyyyyyyy")
direct_sms_attr2.add_receiver(receiver="zzzzzzzzzzz")
'''
#Step 5. 生成SMS消息对象
'''
msg2 = TopicMessage(msg_body2, direct_sms = direct_sms_attr2)
try:'''Step 6. 发布SMS消息'''re_msg = my_topic.publish_message(msg2)print "Publish Message Succeed. MessageBody:%s MessageID:%s" % (msg_body2, re_msg.message_id)
except MNSExceptionBase,e:if e.type == "TopicNotExist":print "Topic not exist, please create it."sys.exit(1)print "Publish Message Fail. Exception:%s" % e

使用阿里云消息服务mns发送短信相关推荐

  1. PHP安装阿里云消息服务MNS的SDK

    首先配置好PHP和Composer https://blog.csdn.net/msllws/article/details/106399646 然后在网站根目录打开命令行执行 composer re ...

  2. SpringBoot+阿里云短信服务实现发送短信验证码功能

    目录 一.登陆阿里云,开通短信服务(收费的,需要充值,1元能发20条左右),并获取AccessKeyId和AccessKeySecret 二.创建短信模板与签名 三.引入依赖 四.准备工作已完成,编码 ...

  3. 阿里云消息服务MNS-PHP+SDK

    队列使用手册 - 消息服务MNS - 阿里云 1.使用composer或者直接下载 2.在使用的地方去引入 3.直接封装好发消息的类 使用的时候直接调用

  4. 基于tp框架的自定义常用函数,包括图片操作、阿里云OSS、文件下载、短信验证码等...

    <?php header("Content-type:text/html;charset=utf-8"); /*  * 定义发送短信验证码方法  * 使用php自带的Soap ...

  5. 【python】腾讯云+python SDK免费发送短信

    最近好奇了一下1069开头的短信都是怎么发的呢?验证码或者营销短信,试用了两款免费发送短信的产品,一款是国外的TWILIO,使用教程挺多的,不知道是不是我使用方式不对,频率高的短信发不出来,好像会预充 ...

  6. 云之讯实现发送短信验证码(python版本)

    这段代码不需要调用SDK,需要先注册云之讯才能获取相应的请求参数,官网上暂时还没有python的SDK,看代码吧. from time import sleep import requests #单模 ...

  7. 首批!阿里云容器服务 ACK 顺利通过信通院云原生混部项目评估

    作者:OSCAR 为了分享过去一年云原生产业联盟(CNIA)在标准建设.评估认证.技术研究.实践合作等方面的工作成果.探索行业最新趋势动态,云原生产业联盟于 2023 年 1 月举办了 2022 年度 ...

  8. 使用移动云MAS HTTP接口发送短信BASE64加密中文乱码

    前阵子有个用移动短信接口发送短信的相关业务,遇到了问题记录一下 为了不使项目重启全部是用jsp编写的,前几步按照移动给的HTTP接口文档来 没有问题 最后进行BASE64加密的时候出现了中文字符乱码的 ...

  9. 阿里云消息服务(Message Service)-基本概念

    Account Account 是阿里云的注册用户,在 MNS 中以阿里云注册帐号的 ID 表示. 队列模型 队列所有者 开通 MNS 服务的 Account 通过 CreateQueue 接口创建出 ...

最新文章

  1. 2021-7-20 pytorch学习基础笔记
  2. iOS的类方法和实例方法区别与使用
  3. vs2012 boost配置
  4. 前端学习(2207):Vue-store文件夹的目录结构
  5. 信息学奥赛一本通 1045:收集瓶盖赢大奖 | OpenJudge NOI 1.4 07
  6. 【UOJ#450】【集训队作业2018】复读机(生成函数,单位根反演)
  7. LDAP密码认证例子
  8. 计算机软件资料统计表,幼儿园评估资料参考目录(中心幼儿园)
  9. Linux-CentOS7安装教程【附CentOS7镜像】
  10. 厦门宏发有机器人_2020新版福建省厦门工业机器人工商企业公司名录名单黄页大全23家...
  11. ant design vue 修改 table 的默认分页的pageSize
  12. IR2104/03 TLP250
  13. MySql获取某天是一年的第几周
  14. 笔记本计算机虚拟技术,ThinkPad笔记本电脑如何开启CPU虚拟化技术的图文教程
  15. 美国签证(B1)经验总结
  16. train_test_split()函数用法
  17. Django之django-dynamic-preferences
  18. 2.某服装店进行促销活动,一件上衣原价90元,裤子原价45元,现一套120元。 如果我买m套上衣和n套裤子,最少花费多少钱?
  19. Could not open /dev/vmmon: No such file or directo
  20. SecureCRT8.1破解版下载及修改显示行数

热门文章

  1. 这一篇让你彻底弄明白 Flutter 的 InheritedWidget 局部刷新机制
  2. (前端)html与css,html 5、h、p标签,与_img路径
  3. esxi不识别硬盘_esxi在线添加硬盘,系统没有识别到怎么办(重启除外)
  4. 华为推送的文档就是垃圾垃圾垃圾!
  5. 数据库系统从挂科到满分【精华再精华的数据库系统基础理论】3
  6. 动态网站开发(手动开发、使用myeclipse工具开发)
  7. NLP牛客网面经总结
  8. 网狐棋牌代码分析(三) 调度引擎初步分析
  9. 重新java系列之IO流
  10. 电脑进共享云盘报错“不允许一个用户使用一个以上用户名与服务器或共享资源的多重连接......”