Raspberry Pi надсилання e-mail з Python скрипта

У тих випадках, коли Raspberry Pi використовується для моніторингу чогось (рух, безпека, температура і т.д.), дуже корисною є функція оповіщення, при настанні певної події. Наприклад, якщо покази давача температури перевищили допустиму, попередньо встановлену, межу для температури, Raspberry Pi може повідомити нас про це через e-mail.

RaspberryPI_Email

Крок 1

Виконаємо команду
apt-get update
Raspberry Pi при цьому повинна мати доступ до інтернету.

Крок 2
Встановимо необхідне програмне забезпечення:

sudo apt-get install ssmtp
sudo apt-get install mailutils
sudo apt-get install mpack

Крок 3

Здійснимо налаштування встановленого SMTP-сервера:
nano /etc/ssmtp/ssmtp.conf
І правимо стрічки:
AuthUser=ваш_акаунт@gmail.com
AuthPass=ваш_пароль
FromLineOverride=YES
mailhub=smtp.gmail.com:587
UseSTARTTLS=YES

При цьому Вам необхідно мати gmail акаунт!

Крок 4

Тепер ми можемо надсилати e-mail із командної стрічки. Робиться це так:
echo "текст повідомлення" | mail -s "Тема" ім'я_користувача@домен.xxx
Таким чином повідомлення з темою “Тема” і вмістом “текст повідомлення” буде надіслано на адресу ім’я_користувача@домен.xxx
Але нас більше цікавить автоматичне сповіщення поштою із Python-скрипта.

Крок 5

Створимо bash-скрипт з командою, що надсилає повідомлення. Створимо файл email.sh
nano email.sh
І в ньому наберемо:
#!/bin/bash
echo "текст повідомлення" | mail -s "Тема" ім'я_користувача@домен.xxx

Збережемо файл (CTRL O + Enter) та закриємо його (CTRL X). Тепер зробимо наш файл виконуваним:
chmod +x email.sh
Тепер повідомлення повинне надсилатися запуском нашого файлу:
./email.sh

Крок 6

Скопіюємо файл у папку bin:
sudo cp email.sh/usr/local/bin/

Крок 7

Тепер імпортувавши у Python-скрипт відповідну бібліотеку
import os
Просто використовуємо команду
os.system('email')
у тій частині програми, де нам необхідно відправити e-mail. Ось і все 🙂



Оставить ответ

Обязательные поля помечены*

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.