#!/usr/bin/python
# -*- coding: utf-8 -*-

#########################################################################################################
 #    2017/10/19     Juan de Dios Yáñez Ávila www.onw4rds.com                                            
 #    ip_mail.py     Python 3    Versión: 0.1.                                                           
 #                                                                                                       
 #    Este archivo se ejecuta gracias a crontab (que para editarlos es crontab -e) cada minuto           
 #    desde que el dispositivo es iniciado.                                                              
 #    Conecta con una cuenta de correo electrónico de Gmail para informar sobre la IP de conexión.                                                                                         
#########################################################################################################


import smtplib, socket, os
from email.mime.text import MIMEText

def email_ip():

    #SCRIPT PARA OBTENCIÓN DE IP
    dispositivo = socket.gethostname()
    ## En dispositivos Linux
    f = os.popen('ifconfig wlan0 | grep "inet\ addr" | cut -d: -f2 | cut -d" " -f1')
    ip=f.read()
    ## En dispositivos Windows
    # ip = socket.gethostbyname(dispositivo)
    direccion_ip = str(dispositivo) + " | " + str(ip)
    
    #SCRIPT PARA CREAR EL MENSAJE
    mensaje = MIMEText(" Drone dispositivo: " + str(dispositivo) + "\n IP: " + str(ip) + "\n PUERTO: 5901\n Clave: airvant")
    mensaje['From'] = "operativa.airvant@gmail.com"
    mensaje['To'] = "operativa.airvant@gmail.com"
    mensaje['Subject'] = direccion_ip

    #SCRIPT PARA EL ENVIO DEL CORREO ELECTRONICO
    mailServer = smtplib.SMTP('smtp.gmail.com', 587)
    mailServer.ehlo()
    mailServer.starttls()
    mailServer.ehlo()
    mailServer.login("operativa.airvant@gmail.com", "#airvant.onw")
    mailServer.sendmail("operativa.airvant@gmail.com", "operativa.airvant@gmail.com", mensaje.as_string())
    ## def sendmail(from_addr, to_addrs, msg, mail_options=[], rcpt_options=[])
    mailServer.quit()


email_ip()
