30-使用短信电子邮件网关发送短信
18.7 使用短信电子邮件网关发送短信
与计算机相比,人们可能离他们的智能手机更近,所以短信通常是比电子邮件更直接、更可靠的通知发送方式。此外,短信通常较短,因此人们更有可能去读短信。
最简单、但不是最可靠的发送短信的方法,是使用SMS(短信服务)电子邮件网关,即一个电子邮件服务器。手机供应商通过电子邮件接收文本,然后以短信的形式转发给收件人。
你可以用 ezgmail
或 smtplib
模块编写一个程序来发送这些邮件。手机号码和电话公司的邮件服务器构成了收件人的电子邮件地址。邮件的主题和正文将成为短信的正文。例如,要向Verizon客户拥有的电话号码415-555-1234发送短信,你会发送一封邮件到[email protected]。
你可以通过网络搜索“sms email gateway provider name”(SMS电子邮件网关提供商名称),找到手机提供商的SMS电子邮件网关,表18-4列出了几个常用提供商的网关。许多供应商都有单独的电子邮件服务器服务、SMS(短信服务)和MMS(多媒体消息服务,没有字符限制)。如果你想发送一张照片,你必须使用MMS网关,并将文件附加到邮件中。
| 移动电话供应商 | SMS网关 | MMS网关 |
| :----- | :----- | :----- | :----- | :----- |
| AT&T
| [email protected] | [email protected] |
| Boost Mobile
| [email protected] | 同SMS |
| Cricket
| [email protected] | [email protected] |
| Google Fi
| [email protected] | 同SMS |
| Metro PCS
| [email protected] | 同SMS |
| Republic Wireless
| [email protected] | 同SMS |
| Sprint
| [email protected] | [email protected] |
| T-Mobile
| [email protected] | 同SMS |
| U.S. Cellular
| [email protected] | [email protected] |
| Verizon
| [email protected] | [email protected] |
| Virgin Mobile
| [email protected] | [email protected] |
| XFinity Mobile
| [email protected] | [email protected] |
如果你不知道收件人的手机供应商,可以尝试使用运营商查询网站,应该可以提供一个电话号码的运营商。找到这些网站的最好方法是在网上搜索“find cell phone provider for number”(查找手机号码的运营商)。在这些网站中,许多可以让你免费查询电话号码(但是如果你需要通过他们的API查询几百个或几千个电话号码,会向你收费)。
虽然短信电子邮件网关免费又简单,但有以下几个主要的缺点。
- 你无法保证短信会及时到达,甚至无法保证短信到达。
- 你无法知道短信是否到达。
- 短信收件人无法回复。
- 如果你发了太多的邮件,短信网关可能会阻止你,而且没有办法知道有多少算是“太多”。
- 短信网关今天能发送一条短信,并不意味着明天也能发。
当你需要偶尔发送非紧急信息时,通过短信网关发送短信是理想的选择。如果你需要更可靠的服务,请使用非电子邮件短信网关服务,如下文所述。