python - 某些运营商的电话号码没有收到来自我的 Python 代码的 SMS 消息?
问题描述
目标:使用python发送短信。
谷歌最终导致了 smtp 库,然后我的代码变成了:
import smtplib
import imaplib
import email
#emailAddress = "email@gmail.com"
#emailPassword = "appPassword"
#phoneAddress = "number@sms.rogers.com"
from config import emailAddress, emailPassword, phoneAddress
message = "testing test test"
smtpServer = "smtp.gmail.com"
server = smtplib.SMTP_SSL(smtpServer, 465)
server.ehlo()
server.login(emailAddress, emailPassword)
server.sendmail(emailAddress, phoneAddress, message)
server.quit()
当我将电话地址更改为有贝尔的人时,上面的代码有效。当是 Rogers 和 Fido 时,我可以在我的电子邮件帐户上看到已发送的消息,但 SMS 从未收到。shell中也没有弹出错误。
有谁知道为什么会这样?
解决方案
我使用 Fast2sms。它有一些免费限制,只需去他们的网站注册并创建一个授权码。注册并转到此链接以获取身份验证代码https://www.fast2sms.com/dashboard/dev-api
他们会要求积分发送短信到免打扰号码
import requests
url = "https://www.fast2sms.com/dev/bulk"
querystring = {"authorization":"Your Code here","sender_id":"FSTSMS","message":"Message content ","language":"english","route":"p","numbers":"8012XXXXX3"}
headers = {
'cache-control': "no-cache"
}
response = requests.request("GET", url, headers=headers, params=querystring)
print(response.text)
推荐阅读
- reactjs - 我创建的站点仅在移动设备上无法通过 LCP。我没有得分,只有“?”
- sql-server - 还原 SQL Server 中的所有数据库备份
- python - 如何从 booktoscrape 网站获取评级并将其输入数据库
- php - 来自数据库 ID 的元 OG 图像
- sbt - Sbt clean compile:无法捕获编译错误
- javascript - 如何将 PHP 模型作为源添加到 jQuery 自动完成源?
- node.js - 设置 cookies-parser node.js express 后无法连接到 localhost
- django - Django:按顺序(有效)对过滤查询集的整数字段进行编号
- javascript - 如何在反应js中调用两个有条件的API?
- angular - 实现带角度的自动动画滚动