Esta dica servirá tanto para aqueles que usam Python2 ou Python3, desde que utilizem a biblioteca smtplib e email.
Para enviar um email utilizando UTF-8, basta retirar sua forma direta e padrão de criar o conteúdo a ser enviado e substituir pelo código abaixo:
import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText #Para criar a mensagem, utilize este formato msg = MIMEMultipart("alternative") msg["Subject"] = "ASSUNTO_AQUI" msg.attach( MIMEText("MENSAGEM_UTF8_A_SER_ENVIADA_AQUI", "plain", "utf-8" ) ) msg = msg.as_string().encode('ascii')
E pronto. Bastaria utilizar o msg em sua função de envio de email, que no caso é provavelmente server.sendmail(from, to, msg), e seu email com conteúdo UTF-8 será enviado.
Caso queira saber como enviar email usando Python e smtplib, vá até este link de exemplo que utiliza o Gmail.