Tienes que tener en cuenta que la cuenta desde la que envias el correo electronico debe tener la opción activada para acceder de aplicaciones menos seguras. Esto se encuentra en el apartado de seguridad de cuenta de gmail, en el caso que utilices una cuenta de gmail.
Primero debemos o podemos crear el archivo y alojarlo por ejemplo en el escritorio. El archivo creado esta codificado en lenguaje python , tendra la extension .py, en el podemos copiar el codigo de ejemplo que tenemos mas abajo, solo necesitaremos cambiar el nombre y la contrasena.
Despues de esto esta preparado para ejecutarlo desde linux, se puede desde la consola de linux ejecutar con la instruccion «sudo», esto se utiliza para ejecutar la instruccion como administrador. Importante habeer instalado los paquetes que necesitamos para ejecutar archivos python.
Podemos utilizar apt-get o pip para guardar las bibliotecas que necesitamos.
Antes de ejecutar el archivo debemos hacer algo en nuestra cuenta de correo electronico gmail, debemos anular la seguridad, como se hace esto?, desde el apartado «App menos seguro» debes seleccionar.
Y en el siguiente paso debes recibir o enviar un mensaje.
Debes recordar el Username , por ejemplo «cesarhch0» y el password «123…».
Para que el codigo pueda entrar en el correo debes importar el paquete de la biblioteca de «IMAPClient».
Despues de importar debes escribir el codigo «server = IMAPClient(…)».
El codigo se encuentra dentro de la funcion «def mail_check()».
import time
import board
import RPi.GPIO as GPIO
from imapclient import IMAPClient
from digitalio import DigitalInOut, Direction
HOSTNAME = ‘imap.gmail.com’
MAILBOX = ‘Inbox’
MAIL_CHECK_FREQ = 30 # check mail every 60 seconds
# The following three variables must be customized for this
# script to work
USERNAME = «cesarhch0»
PASSWORD = «contrasena»
NEWMAIL_OFFSET = 0 # my unread messages never goes to zero, use this to override
GPIO.setmode(GPIO.BCM)
GPIO.setup(16, GPIO.OUT)
# setup Pi pins as output for LEDs
green_led = DigitalInOut(board.D18)
red_led = DigitalInOut(board.D23)
green_led.direction = Direction.OUTPUT
red_led.direction = Direction.OUTPUT
def mail_check():
# login to mailserver
server = IMAPClient(HOSTNAME, use_uid=True, ssl=True)
server.login(USERNAME, PASSWORD)
# select our MAILBOX and looked for unread messages
unseen = server.folder_status(MAILBOX, [‘UNSEEN’])
# number of unread messages
# print to console to determine NEWMAIL_OFFSET
newmail_count = (unseen[b’UNSEEN’])
print(‘%d unseen messages’ % newmail_count)
if newmail_count > NEWMAIL_OFFSET:
green_led.value = True
red_led.value = False
GPIO.output(16, GPIO.HIGH)
print(‘ich bin drinnen’)
else:
green_led.value = False
red_led.value = True
GPIO.output(16, GPIO.LOW)
print(‘ich bin draußen’)
time.sleep(MAIL_CHECK_FREQ)
while True:
mail_check()
Deja una respuesta Cancelar la respuesta