#!/usr/bin/env python
# -*- coding: utf-8 -*-
# la lib smtp que nos permite dialogar con un servidor de mail
import smtplib

# un email multiparte (contiene anexos)
from email.MIMEMultipart import MIMEMultipart
# un mensaje email de tipo texto
from email.MIMEText import MIMEText
# un mensaje email de tipo imagen
from email.MIMEImage import MIMEImage
import mimetypes, posixpath

def image_a_mail(rutaarchivo):
	''' renvio de un mensaje de tipo MIMEImage a partir de un archivo'''
	# utilizamos posixpath para tener el nombre del archivo
	nomarchivo = posixpath.basename( rutaarchivo )
	# luego obtenemos la extensión del archivo
	extension = posixpath.splitext( nomarchivo )
	# luego usamos mimetypes para tener el content-type de la extensión
	content_type = mimetypes.types_map[ extension[1] ]
	# abrimos el archivo de imagen en modo binario
	archivo = open(rutaarchivo, 'rb')
	# un objet message con el contenido del archivo
	image = MIMEImage( archivo.read() )
	# añadimos las cabeceras para la imagen
	image.add_header('Content-Disposition','attachment;filename="%s"' %nomarchivo )
	image.add_header('Content-type',content_type)
	# devolvemos el objeto message que contiene la imagen
	return image

def send(mfrom,mto):
	# añadimos las cabeceras para el mail principal
	emailmultipart['From']=mfrom
	emailmultipart['To']=mto
	emailmultipart['Subject']='¡Hola!'
	# creamos un mensaje simple html (la clase ! ;)
	emailtext = MIMEText('<b>¡Hola!</b>','html')
	# agregamos este mail a nuestro multipart
	emailmultipart.attach(emailtext)

# creamos un objeto mensaje multipart
emailmultipart = MIMEMultipart()
# creamos un mensaje de tipo MIMEImage empleando nuestra función
emailimage = image_a_mail("/home/javier/python/cap2/eni_photos/javier.jpg")
emailmultipart.attach(emailimage)

# enviamos el mail
server = smtplib.SMTP('popuvhc.univ-valenciennes.fr')
send("javier@gmail.com","javier@jjosoft.es")
# agregamos el mail a nuestro multipart
server.sendmail("javier@gmail.com","javier@jjosoft.es"",emailmultipart.as_string() )
server.quit()