|
||
|
|
|
Avaliação: Não avaliado | Publicado em: 18/02/2008
Enviando email
Fred Jader Desenvolvedor web desde os 12 anos, Frederico Jader hoje em dia atua como diretor de arte e administrador de portais em geral, tendo como mais novo projeto o site www.gamesnahora.com
Python tem uma biblioteca chamada smtplib que permite o envio de e-mails de forma simples. Segue um código de exemplo:
CÓDIGO import smtplib try: msg = {} msg[['From']] = "de@provedor.com.br" msg[['To']] = "para@provedor.com.br" msg[['Subject']] = "Assunto" msg[['Mensagem']] = "corpo da mensagem" servidor = smtplib.SMTP() #Cria um objeto SMTP smtpserver = "smtp.servidor.com.br" #String com o nome do servidor print "Conectando..." servidor.connect(smtpserver, 25) #Conecta-se ao servidor print "Enviando..." texto = "From: %s To: %s Subject: %s %s" % (msg[['From']], msg[['To']], msg[['Subject']], msg[['Mensagem']]) servidor.sendmail(msg[['From']], msg[['To']], texto) print "Desconectando..." servidor.quit() #Desconecta-se do servidor except Exception, e: print "Erro: %s" % e #Caso tenha ocorrido algum erro, o mesmo será tratado e mostrado else: print "Concluído!" #Caso não tenha ocorrido erro algum A única observação a ser feita é no caso da linha que define o nosso objeto "texto". É importante notar que no método sendmail só passamos o remetente e o destinatário, além do texto da mensagem. Porém, e o assunto, onde entra? E mesmo o destinatário que é passado ali não fica na mensagem (fica como 'Nenhum'). Por isso usei o terceiro parâmetro (que seria só a mensagem) para passar todos os dados (From, To, Subject e a própria mensagem). Basta apenas colocar cada um deles em uma linha (por isso o para pular a linha) e deixar a mensagem por último. Para servidores SMTP que precisam de autenticação (boa parte deles hoje em dia está requisitando isso) você pode colocar o seguinte (depois da linha 'servidor.connect(smtpserver, 25)'): CÓDIGO print "Autenticando..." servidor.login("email@provedor.com.br", "senha") Em alguns provedores o nome de usuário não é o seu próprio email, mas sim apenas um nome único, portanto basta mudar ali se for o caso. Qualquer dúvida, correção ou sugestão sobre a dica acima, envie para washingtonj@openlink.com.br. Happy Pythonnin'! ![]() |
|
|
|