Enviar email no Python

77 views
Skip to first unread message

Alfredo Guilherme Silva Souza

unread,
Sep 7, 2012, 7:31:51 PM9/7/12
to python...@googlegroups.com


Pessoal Boa Noite !
Preciso de ajuda, estou tentando enviar email com um script em python e dá erro sempre, pedi para um amigo meu rodar na máquina dele e da certo.

Eu estou usando o Ubuntu 12.04 e o python 2.7 que veio instalado.
Se for testar tem que inserir o email e senha...

Abraços.

Segue o script:

import smtplib
import mimetypes
from email.Utils import formatdate
from email import encoders
from email.message import Message
from email.mime.base import MIMEBase
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

def envia_email(de, para, assunto, mensagem, arquivos, servidor):
    # Cria o objeto da mensagem
    msg = MIMEMultipart()
    # Define o cabecalho
    msg['From'] = de
    msg['To'] = para
    msg['Date'] = formatdate(localtime = True)
    msg['Subject'] = assunto

    # Atacha o texto da mensagem
    msg.attach(MIMEText(mensagem))

    # Atacha os arquivos
    for arquivo in arquivos:
        parte = MIMEBase('application','octect-stream')
        parte.set_playload(open(arquivo, 'rb').read())
        encoders.encode_base64(parte)
        parte.add_header('Content-Disposition', 'attachment; filename="%s"' % os.path.basename(arquivo))
        msg.attach(parte)

    # Conecta ao servidor SMTP
    smtp = smtplib.SMTP(servidor, 587)
    smtp.ehlo()
    smtp.starttls()
    smtp.ehlo()
    # Faz login no servidor
    smtp.login('seu_...@gmail.com', 'sua_senha')
    # Envia o e-mail
    smtp.sendmail(de, para, msg.as_string())
    # Desconecta do servidor
    smtp.close()

if __name__ == '__main__':
    _de = 'seu_...@gmail.com'
    _para = 'seu_...@gmail.com'
    _assunto = 'Teste'
    _mensagem = 'Teste de email em python'
    _arquivos = ''
    _servidor = 'smtp.gmail.com'
    envia_email(_de,_para,_assunto,_mensagem,_arquivos,_servidor)


Segue o erro:

Traceback (most recent call last):
  File "email.py", line 3, in <module>
    import smtplib
  File "/usr/lib/python2.7/smtplib.py", line 46, in <module>
    import email.utils
  File "/home/bio/email.py", line 5, in <module>
    from email.Utils import formatdate
ImportError: No module named Utils
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/apport_python_hook.py", line 64, in apport_excepthook
    from apport.fileutils import likely_packaged, get_recent_crashes
  File "/usr/lib/python2.7/dist-packages/apport/__init__.py", line 1, in <module>
    from apport.report import Report
  File "/usr/lib/python2.7/dist-packages/apport/report.py", line 18, in <module>
    import problem_report
  File "/usr/lib/python2.7/dist-packages/problem_report.py", line 15, in <module>
    from email.encoders import encode_base64
  File "/home/bio/email.py", line 3, in <module>
    import smtplib
  File "/usr/lib/python2.7/smtplib.py", line 46, in <module>
    import email.utils
ImportError: No module named utils

Original exception was:
Traceback (most recent call last):
  File "email.py", line 3, in <module>
    import smtplib
  File "/usr/lib/python2.7/smtplib.py", line 46, in <module>
    import email.utils
  File "/home/bio/email.py", line 5, in <module>
    from email.Utils import formatdate
ImportError: No module named Utils




--

Alfredo Guilherme



Luís Tavares

unread,
Sep 7, 2012, 7:43:36 PM9/7/12
to python...@googlegroups.com
o utils não é minusculo?


Luís Alberto Tavares Poli
(16) 9715-0309



2012/9/7 Alfredo Guilherme Silva Souza <alfredo.bio...@gmail.com>




--

Alfredo Guilherme



--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com

Alfredo Guilherme Silva Souza

unread,
Sep 7, 2012, 7:47:30 PM9/7/12
to python...@googlegroups.com

Da o mesmo erro....


2012/9/7 Luís Tavares <soult...@gmail.com>



--

Alfredo Guilherme



Bruno Rocha

unread,
Sep 7, 2012, 8:13:17 PM9/7/12
to python...@googlegroups.com
Acabei de testar no ubuntu 12.04

In [4]: from email.utils import formatdate

In [5]: formatdate
Out[5]: <function email.utils.formatdate>


é utils e não Utils




Alfredo Guilherme Silva Souza

unread,
Sep 7, 2012, 8:17:28 PM9/7/12
to python...@googlegroups.com


Olá Bruno, substitui o Utils por utils e o erro ainda persiste, é o mesmo erro.

Abraços.

2012/9/7 Bruno Rocha <rocha...@gmail.com>

--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com



--

Alfredo Guilherme



Douglas Camata

unread,
Sep 7, 2012, 8:18:45 PM9/7/12
to python...@googlegroups.com
Aqui funcionou de boa.

[]s
Douglas Camata
Graduando em Ciência da Computação (UENF)

Skype: douglas_camata
-----------------------------------
Linux User #509211

Filipe Cifali

unread,
Sep 7, 2012, 9:29:41 PM9/7/12
to python...@googlegroups.com
Engraçado, vi esse script na stackoverflow quinta-feira mesmo... Que tal começar a debuggar o erro?

Na linha final:

ImportError: No module named Utils 

Isso quer dizer que ele não encontrou a referência ao módulo que você tenta importar, assim, recomendo verificar quem é o  from email.Utils import formatdaete, módulo email (versão, se está instalado, como foi instalado) para a correção do erro.

Provavelmente o OS usado não usa a mesma lib que o do teu colega e das outras pessoas. 
[]'s

Filipe Cifali Stangler

Alfredo Guilherme Silva Souza

unread,
Sep 7, 2012, 9:34:17 PM9/7/12
to python...@googlegroups.com

Galera deu certo....
Eu instalei o PyDev no meu Eclipse e mandei executar pelo Eclipse, ai deu certo, apartir de agora o código sempre esta enviar o email, ainda não entendi, não sei se o eclipse fez algo, se organizou algo..
Enfim.

Muito obrigado pela ajuda galera..
Abraços e boa noite !

Luiz Armesto

unread,
Sep 7, 2012, 9:52:59 PM9/7/12
to python...@googlegroups.com
Não foi você que tinha desinstalado o python do sistema? Esse erro estava ocorrendo numa instalação limpa ou naquela mesma???

Alfredo Guilherme Silva Souza

unread,
Sep 7, 2012, 9:56:09 PM9/7/12
to python...@googlegroups.com

Sim estava, eu pensei que fosse a versão e acabei removendo, ai tive que formatar !
Boa Noite !

No dia 7 de Setembro de 2012 22:52, Luiz Armesto <luiz.a...@gmail.com> escreveu:
Não foi você que tinha desinstalado o python do sistema? Esse erro estava ocorrendo numa instalação limpa ou naquela mesma???

--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com



--

Alfredo Guilherme



Reply all
Reply to author
Forward
0 new messages