import glob
# Envio de correo
import smtplib
import ssl

from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email import encoders


class Notificacion:
    @classmethod
    def envio_correo(self, array_datos):

        try:
            correo_receptor = array_datos[0]
            server = "correo.inces.net.ve"
            port = "587"
            remitente = "hacer2024@inces.net.ve"
            password = "Hacer@2024"

            mensajeBd = "En este correo se presentan las solicitudes realizadas en la app, tales como: <br> -Solicitudes de participantes por unidades curriculares <br> -Solicitudes de participantes   <br> -Solicitudes por unidades curriculares"

            asunto = "prueba siiii"

            #se usa "del" para destruir objetos
            #del array_datos[0:2]

            # Creamos el objeto mensaje
            msj = MIMEMultipart()

            # Establecemos los atributos del mensaje
            msj["From"] = remitente
            msj["To"] = correo_receptor
            msj["Subject"] = asunto

            # Agregamos el cuerpo del mensaje como objeto MIME de tipo texto
            #mensaje.attach(MIMEText(mensajeBd.encode("utf-8"), 'plain', 'UTF-8'))
            msj.attach(MIMEText(mensajeBd.encode("utf-8"), 'html', 'UTF-8')) 


            #Ciclo para enviar varios documentos
            for nom in glob.glob('archivos/*.xlsx'): 
                # Abrimos el archivo que vamos a adjuntar
                archivo_adjunto = open(nom, 'rb')
                # Creamos un objeto MIME base
                adjunto_MIME = MIMEBase('application', 'octet-stream')
                # Y le cargamos el archivo adjunto
                adjunto_MIME.set_payload((archivo_adjunto).read())
                # Codificamos el objeto en BASE64
                encoders.encode_base64(adjunto_MIME)
                # Agregamos una cabecera al objeto
                nombre_adjunto = 'participantes_.xlsx'
                adjunto_MIME.add_header('Content-Disposition', "attachment; filename= %s" % nom)
                # Y finalmente lo agregamos al mensaje
                msj.attach(adjunto_MIME)



            smtp = smtplib.SMTP(server, port)
            smtp.starttls()
            smtp.login(remitente, password)
            smtp.send_message(msj)

            print('¡Correo electrónico enviado exitosamente!')

            smtp.quit()

            return '¡Correo electrónico enviado exitosamente! siiii'
        except Exception as error:
            raise Exception(error)


print(Notificacion.envio_correo(['gamezhumberto03@gmail.com']))


