您的位置:首页 > 编程语言 > Python开发

python自动发送短信

2017-07-02 16:58 316 查看
Twilio是一个SMS (Short Message Service)网关服务,可以通过程序发送短信。

首先,注册Twilio服务,网址:https://www.twilio.com/

完成后,会得到Account SID,Auth Token以及一个Twilio Phone Number。这都是是我们需要的。

pip3 安装第三方库twilio

pip 工具 从 Python 软件基金会的网站 https://pypi.python.org/ 安全地下载Python模块, 并安装到计算 机上。这就像是Python模块的免费应用程序商店。

如果没有pip,先安装python3 - pip (pip3)

$ cd Downloads/
$ wget https://pypi.python.org/packages/0d/be/9f2857889551d53a103e7a9bb6f2fdb8416e263b0dcc27e8130a1367363c/setuptools-28.7.0.zip#md5=d4eb525a591256e05db29512af9cb5f8 $ unzip setuptools-28.7.0.zip
$ cd setuptools-28.7.0
$ sudo ./setup.py install

$ pip3
Usage:
pip <command> [options]

Commands:
install                     Install packages.
download                    Download packages.
uninstall                   Uninstall packages.
freeze                      Output installed packages in requirements format.
list                        List installed packages.
show                        Show information about installed packages.
check                       Verify installed packages have compatible dependencies.
search                      Search PyPI for packages.
wheel                       Build wheels from your requirements.
hash                        Compute hashes of package archives.
completion                  A helper command used for command completion.
help                        Show help for commands.

$ which pip3
/usr/local/bin/pip3


pip3安装twilio:

[root@CentOS setuptools-28.7.0]# pip3 install twilio
Collecting twilio
Downloading twilio-6.4.1-py2.py3-none-any.whl (552kB)
100% |████████████████████████████████| 552kB 697kB/s
Collecting pysocks; python_version == "3.6" (from twilio)
Downloading PySocks-1.6.7-py3-none-any.whl
Collecting pytz (from twilio)
Downloading pytz-2017.2-py2.py3-none-any.whl (484kB)
100% |████████████████████████████████| 491kB 1.0MB/s
Collecting pyOpenSSL>=0.14 (from twilio)
...


python 脚本

使用分配的账号ID,认证标志,电话号码twilioNumber,并设置好发送目标的对象号码myNumber。
client.messages.create
中的
body
是短信内容。

#! /usr/local/bin/python3
from twilio.rest import Client

# put your own credentials here
accountSID = 'A********************'
authToken = 'e*******************'
myNumber = '+86***************'
twilioNumber = '+1**************'
message = "today is Sunday, this is a test message for crontab and twilio."
client = Client(accountSID, authToken)

client.messages.create(
to=myNumber,
from_=twilioNumber,
body=message
#media_url="https://c1.staticflickr.com/3/2899/14341091933_1e92e62d12_b.jpg"
)


crontabs 设置定时任务

crontab -e中的时间设置

The time and date fields are:

field allowed values

—– ————–

minute 0-59

hour 0-23

day of month 1-31

month 1-12 (or names, see below)

day of week 0-7 (0 or 7 is Sun, or use names)

设置周日14:40发送短信。
crontab -e


在编辑器中写入:
40 14 * * 0  /home/weiyang/workspace/sendMessage.py


可以通过l选项查看内容
crontab  -l


当时间到了,在程序和网络都正常的情况下,可以得到下面的结果:



注意:

在注册后,每个月我们会得到20$的使用费,每发送一条Twilio短信的收费情况如下

CarrierPrice
China Telecom$0.028 per message
China Unicom$0.028 per message
China Mobile$0.028 per message
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: