Script para enviar correos electronicos con Python, Smtplib y Gmail


Enviar correos electronicos con un script es algo muy util, con Python es posible conectarse a un servidor de correos para posteriormente enviar mensajes.

Vamos a usar el servidor de Gmail y una cuenta de Gmail claro.

Es muy importante entrar a la configuracion de seguridad en la cuenta de gmail que vamos a usar para enviar correos. Y vamos a activar el Acceso de aplicaciones poco seguras.

Una vez activado el acceso ya podemos usar el script.

Codigo

El siguiente es el codigo del script para enviar correos electronicos con Python

import smtplib

from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
# Correo de acceso al servidor
MY_ADDRESS = ''
# Password de acceso a la cuenta de email
PASSWORD = ''

# Configurar el servidor de correo
s = smtplib.SMTP(host='smtp.gmail.com', port=587) # servidor y puerto
s.starttls() # Conexion tls
s.login(MY_ADDRESS, PASSWORD) # Iniciar sesion con los datos de acceso al servidor SMTP

# Crear el Mensaje
msg = MIMEMultipart()

message = "Hola mundo!"

# Imprimir el mensaje
print(message)

# Configurar los parametros del mensaje
msg['From']=MY_ADDRESS
msg['To']= ""
msg['Subject']="Enviar email - Python"

# Agregar el texto del mensaje al mensaje
msg.attach(MIMEText(message, 'plain'))

# Enviar el mensaje
s.send_message(msg)
del msg

# Finaliar sesion SMTP
s.quit()
print("Enviado !!!")

Es importante modificar las siguientes lineas:

  • Linea 6: Agregar el email de acceso a la cuenta de gmail
  • Linea 8: Agregar el password de acceso a la cuenta de gmail
  • Linea 18: Modificar el mensaje a enviar
  • Linea 25: Agregar el email del destinatario
  • Linea 26: Modificar el asunto

Ejecutar el script

Para ejecutar el script debemos guardarlo y abrir una terminal o cmd.exe, despues debemos dirigirnos a la carpeta donde tenemos guardado el script.

Y despues: python nombrescript.py (Yo guarde el archivo como .php, pero deberia ser .py)

Resultado

Una vez que se envia el correo, lo recibe el destinatario

Como pueden ver es facil enviar correos con Python, es posible modificar el script para cualquier otro servidor aparte de gmail, solo es cuestion de tener el servidor smtp y el puerto, y tambien una cuenta de correo con su password.

Que les parece?

No olviden dejar sus comentarios e impresiones.

Saludos

Leave a comment