• Envío de correos desde Python

    ¿Qué es MIME?

    MIME (Extensiones Multipropósito de Correo de Internet) es un estándar que permite la transmisión de varios tipos de contenido a través del correo electrónico, más allá del texto simple.

    • Versatilidad: MIME permite incluir texto, imágenes, audio, video y otros tipos de archivos en los mensajes de correo electrónico.
    • Codificación: Especifica métodos para codificar datos no textuales en texto plano para una transmisión segura por Internet.
    • Encabezados: Agrega campos adicionales a los encabezados estándar del correo electrónico para indicar el tipo y la codificación del contenido.

    Ejemplo de Código, vemos que es una clase:

    import smtplib
    import mimetypes
    from email.message import EmailMessage
    from email.utils import make_msgid
    from email.mime.multipart import MIMEMultipart
    from email.mime.text import MIMEText
    from email.mime.base import MIMEBase
    from email import encoders

    Configuración del servidor SMTP

    smtp_server = «smtp.gmail.com»
    smtp_port = 587
    username = «tu_correo@gmail.com»
    password = «tu_contraseña»

    Creación del mensaje

    msg = MIMEMultipart()
    msg[‘From’] = username
    msg[‘To’] = «destinatario@ejemplo.com»
    msg[‘Subject’] = «Asunto del Correo»

    Cuerpo del correo

    body = «Hola, este es un correo con un archivo adjunto.»
    msg.attach(MIMEText(body, ‘plain’))

    Adjuntar archivo

    filename = «archivo.txt»
    attachment = open(filename, «rb»)

    mime_base = MIMEBase(‘application’, ‘octet-stream’)
    mime_base.set_payload(attachment.read())
    encoders.encode_base64(mime_base)
    mime_base.add_header(‘Content-Disposition’, f»attachment; filename= {filename}»)

    msg.attach(mime_base)

    Envío del correo

    server = smtplib.SMTP(smtp_server, smtp_port)
    server.starttls()
    server.login(username, password)
    server.send_message(msg)
    server.quit()

    print(«Correo enviado con éxito.»)

    Este código hace lo siguiente:

    1. Configura el servidor SMTP.
    2. Crea un mensaje MIME multipart.
    3. Adjunta un cuerpo de texto al correo.
    4. Adjunta un archivo.
    5. Envía el correo a través del servidor SMTP

    De no existir el archivo nos remitirá este error:

    attachment = open(filename, «rb»)
    FileNotFoundError: [Errno 2] No such file or directory: ‘archivo.txt’

Translate » Traductor