Acho que você não está especificando os módulos e os submódulos aferentes corretamente. Você deveria realmente fazer:
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email import encoders
Eu usei a função help
do python para verificar o que o módulo de email contém em "CONTEÚDO DA EMBALAGEM" e deduzi por exemplo que MIMEmultipart
é uma classe de mime
:
help("email")
help("email.mime.multipart")
Editar:
Uma maneira fácil de encontrar exatamente onde um objeto está em um determinado módulo no Python2 (python3 parece não funcionar com isso) é:
getattr(__import__("<module_name>"), "<object_name>").__dict__["__name__"]
No seu caso, é algo como:
getattr(__import__("email"), "MIMEMultipart").__dict__["__name__"]
getattr(__import__("email"), "MIMEText").__dict__["__name__"]