sábado, 24 de octubre de 2009

Mandar emails desde Python

Os voy a mostrar una sencilla función que os permitirá enviar correos electrónicos desde Python:

# -*- coding: latin-1 -*-
import smtplib
CUENTA_CORREO='usuario@dominio'
PASSWORD_CUENTA_CORREO='pass'
IP_SERVIDOR_SMTP='X.X.X.X'

 
def mail(destinatarios, cc, asunto, mensaje):
    # Destinatarios: lista de emails
    # cc: lista de emails
    # asunto: string
    # mensaje: string
    headers = "From: %s\r\nTo: %s\r\nCc: %s\r\nContent-Type: text/plain; charset=\"utf-8\"\r\nSubject: %s\r\n\r\n" % (CUENTA_CORREO, ','.join(destinatarios), ','.join(cc), asunto)
    message = headers + mensaje

    mailServer = smtplib.SMTP(IP_SERVIDOR_SMTP)
    mailServer.login(CUENTA_CORREO, PASSWORD_CUENTA_CORREO)
    mailServer.sendmail(CUENTA_CORREO, destinatarios + cc, message)
    mailServer.quit()


mail(['a@hotmail.com','b@hotmail.com'], ['c@hotmail.com'], 'prueba', 'esto es una prueba')