Постоянные читатели уже знают, что можно написать скрипт, который будет проверять работоспособность маршрутизаторов Mikrotik Routerboard. В случае, если Mikrotik Routerboard не доступен, скрипт сообщит об этом звуковым сигналом.
Этот вид сообщения полезен, если администратор находится возле компьютера. Если же администратор отойдет от компьютера, то этот метод сообщений становиться бесполезным. Наиболее удобный способ уведомить администратора про сбои в работе Mikrotik Routerboard - это отправить смс.
Воспользуемся способом, при котором нам не понадобиться подключать к серверу мобильный телефон или какие то другие устройства.
Это возможно осуществить через электронную почту. Например, через Gmail.
Воспользуемся справкой.
MTC
Адрес e-mail: +38050ХХХХХХХ@sms.mts.ua где ХХХХХХХ - номер телефона Вашего абонента
Джинс:
Адрес: XXXXXXX@sms.jeans.net.ua
Web: https://jeans.net.ua/
Киевстар:
Адрес: 38067ХХХХХХХ@2sms.kyivstar.net или 38067ХХХХХХХ@sms.kyivstar.net
Djuice:
Адрес: 38097XXXXXXX@djuice.com.ua
Web: https://www.kyivstar.net/
Wellcome:
Адрес: 38068XXXXXXX@sms.welcome2well.com
Web: https://welcome2well.com/
GoldenTelecomGSM-Украина:
Адрес: 380XXXXXXXXX@sms.gt.kiev.ua
Web: https://gsm.goldentele.com/
Beeline (Билайн-Украина):
Адрес: 38068XXXXXXX@sms.beeline.ua
Web: https://beeline.ua/
Mobi:
Адрес: 38068XXXXXXX@sms.mobi.ua
Web: https://mobi.ua/
Рис.1. Отправка смс.
Получается, что мы отправляем электронное письмо, в котором указываем: имя почтового ящика, номер телефона, на который мы хотим отправить смс.
Займемся реализацией этой функции.
Рис.2. Структура.
Нам нужно два файла: ind.py это файл скрипта Проверяем работоспособность маршрутизаторов Mikrotik Routerboard с помощью скрипта. Создаем файл с именем nowork_sms.py, в котором будет создана функция для отправки sms.
Скрипт:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEBase
from email.mime.multipart import MIMEMultipart
from email.header import Header
import email
import mimetypes
import os
def mail(mail_text):
mail_from = 'asp24@gmail.com'
mail_to = '380684545342@sms.beeline.ua'
mail_subj = 'No WORK!'
mail_coding = 'windows-1251'
smtp_server = "smtp.gmail.com"
smtp_port = 587
smtp_user = "asp24@gmail.com"
smtp_pwd = "asp24pass"
multi_msg = MIMEMultipart()
multi_msg['From'] = Header(mail_from, mail_coding)
multi_msg['To'] = Header(mail_to, mail_coding)
multi_msg['Subject'] = Header(mail_subj, mail_coding)
msg = MIMEText(mail_text.encode('cp1251'), 'plain', mail_coding)
msg.set_charset(mail_coding)
multi_msg.attach(msg)
smtp = smtplib.SMTP(smtp_server, smtp_port)
smtp.ehlo()
smtp.starttls()
smtp.ehlo()
smtp.login(smtp_user, smtp_pwd)
smtp.sendmail(mail_from, mail_to, multi_msg.as_string())
smtp.quit()
Евгений Рудченко специально для ASP24.


