接收常规短信到Viber和Telegram即时通讯程序(使用GoIP网关)

在许多使用IP电话和GSM网关进行公司通信的公司中,经常出现从其号码接收和发送SMS的问题。

对于中文GOIP模型,有一个很好的GOIP-SMS服务器解决方案,该解决方案已在Internet上以及我们的Habr社区中屡次提及。 这是一个简单,免费和方便的产品,但是通过WEB(尤其是从移动设备)发送SMS并不是很方便。

有一个使用Messenger接收和发送SMS的想法-并在一个小时内使用简单的Python3.6脚本和Telegram bot实施了该想法(两个月后将其传输到Viber)

逻辑如下:我们处理并解析请求,提取SMS正文,发送给bot并发送给个人聊天-我们收到SMS,对于拥有1 sim卡的iPhone所有者来说,这个话题尤其有趣,当您需要在出差或度假中迅速从银行或注册服务接收消息时,或者查找有关操作员补货:

因此,我们将考虑第一部分,即如何在Telegram中直接从GSM网络接收完整的SMS,我们需要:

  • GoIP SMS服务器
  • 注册机器人(从所有机器人@BotFather的父亲那里获取令牌)
  • 在Gmail上注册新邮箱并启用IMAP接收

我们将分析一个示例脚本,但首先将收件人的电子邮件地址添加到SMS服务器(几个电子邮件地址可以用逗号分隔:

图片

考虑以下脚本:

import imaplib import email import telebot #      pip install PyTelegramBotAPI bot = telebot.TeleBot('YOUTOKENBOT') #   mail = imaplib.IMAP4_SSL('imap.gmail.com') mail.login('yougmail@gmail.com', 'gmailpassword') #   @gmail mail.list() #      mail.select('INBOX') #     result, data = mail.uid('search', None, 'UNSEEN') #   i = len(data[0].split()) for x in range(i): latest_email_uid = data[0].split()[x] result, email_data = mail.uid('fetch', latest_email_uid, '(RFC822)') raw_email = email_data[0][1] mail.store(latest_email_uid, '+FLAGS', '\Deleted') #       raw_email_string = raw_email.decode('utf-8') email_message = email.message_from_string(raw_email_string) #       for part in email_message.walk(): if part.get_content_type() == "text/html" or part.get_content_type() == "text/plain": body = part.get_payload(decode=True) s = (email_message['Subject']) numb = s[5:16] #    11    7XXXXXXXXXX   ,  12      s[5:17] mss = str(body.decode('unicode-escape')) #      Python3  unicode,  2      abon = mss[54:67] #    smss = mss[77:] #   ,      soobsh=( numb + 'n'+ 'n' + smss + 'n' + ':' + abon) #    bot.send_message(chat_id, soobsh) #   chat_id       else: continue 

现在,我们运行脚本,将SMS发送到我们的Sim并等待处理-将SMS传输到Messenger大约需要3秒钟,如果一切正确,那么我们会在TelegramBot中看到消息
(为了避免“春季”冲突,删除了实数):

图片

图片

图片

您可以将脚本包装在“ def函数”中,每3或20或需要多少秒调用一次! 取决于接收短信的频率确定!

如果有人不愿重复,请写信-我们将分析每种情况...

下篇再见!
73!

PS:文章在沙箱中持续了大约一年的时间(由UFO在2018年8月20日批准)进行了几处更改,显然即使新文章允许成为正式会员,旧文章也不会自动出现。 我出版了原始原件。

现在可以讨论了。

Source: https://habr.com/ru/post/zh-CN464671/


All Articles