Недавно был описанный в заголовке таск.
Т. к. я очень люблю питончик, то скрипты пишу на нём. В скрипте выполняется команда астериска (USSD-запрос), далее вытягивается содержимое ответа на ussd, вытягивается лог звонков за сутки, формируется письмо в виде html и отсылается на заданные адреса по электронной почте.
1. Импорты необходимых библиотек:
2. Формируем шапку письма - кому, куда, что и зачем :)
Отправка USSD-запроса сосстояния балланса и обработка результата. Для посылки запроса использую вызов bash команды через subprocess.call - может быть и слишком криво, но быстро и работает.
Затем идет пауза в 10 сек - необходима, чтобы пришел ответ от оператора.
Т. к. я очень люблю питончик, то скрипты пишу на нём. В скрипте выполняется команда астериска (USSD-запрос), далее вытягивается содержимое ответа на ussd, вытягивается лог звонков за сутки, формируется письмо в виде html и отсылается на заданные адреса по электронной почте.
1. Импорты необходимых библиотек:
#!/usr/bin/env python3 import os, smtplib, time, subprocess, shlex, sys, csv from email.utils import formatdate from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText
2. Формируем шапку письма - кому, куда, что и зачем :)
# me == my email address # you == recipient's email address # cc == copy's address me = "asterisk@example.com" сс = "recipient1@example.com" you = "recipient2@example.com" # Create message container - the correct MIME type is multipart/alternative. msg = MIMEMultipart('alternative') msg['Subject'] = "GSM modem balance ("+time.strftime("%m/%d/%Y",time.localtime())+")" msg['From'] = me msg['To'] = you+", "+cc msg['Date'] = formatdate(localtime=True)
Затем идет пауза в 10 сек - необходима, чтобы пришел ответ от оператора.