Enviando emails com autenticação smtp python cgi

Publicado por Alisson Machado (última atualização em 02/07/2011)

[ Hits: 9.855 ]

Homepage: alissonmachado.com.br

Download envio_emails.txt




Formulário que envia emails por método post para script em python, com autenticação por smtp.

Basta criar os dois arquivos, com seus respectivos conteúdos identificados:
envia_py.html
envia_email.py

  



Esconder código-fonte

# Source em Python CGI que envia emails com autenticação por smtp
# feito por:
#   Alisson Menezes/ @TechnoFreaker
#   alisson.copyleft@gmail.com
#
# Exemplo:
#   From:    alissonmenezes@alissonmenezes.tecnologia.ws
#       To:      alisson.copyleft@gmail.com
#   assunto: Teste Python CGI
#   Servidor:smtp.alissonmenezes.tecnologia.ws
#   Senha:   *****
#   Mensagem:Teste de envio python 123
#
#

===========================================================================================
arquivo: envia_py.html
===========================================================================================
<html>
<head><title>Formulario de envio de email em python</title></head>
<body>
<h3>Envio de email por python cgi</h3>
<form method="post" action="cgi-local/envia_email.py">
<table border=1>
<tr>
<td>From:</td><td><input type="text" name="from"></td></tr>
<td>to:</td><td><input type="text" name="to"</td>></tr>
<td>assunto:</td><td><input type="text" name="assunto"></td></tr>
<td>servidor smtp:</td><td><input type="text" name="Servidor"></td></tr>
<td>senha do from:</td><td><input type="text" name="senha"></td></tr>
<td>Mensagem:</td><td><input type="text" name="mensagem"></td></tr>
<td><input type="submit" value="Enviar"></td><br>
</table>
</form>
</body>
</html>
============================================================================================
============================================================================================
envia_email.py
============================================================================================
#!/usr/bin/python
#
# Script recebe dados do formulario via post, com autenticacao  smtp
# feito por: Alisson Menezes / @TechnoFreaker / alisson.copyleft@gmail.com
#
# Agradecimentos: Bruno Delfo, Antonio Cooler, Diego Santos, Itiro Takeuchi, Hedy Boechat
# Gukyboy, _Mlk_ e galera do twitter

import cgi, cgitb
import smtplib
import sys
import commands
from email.MIMEText import MIMEText

form = cgi.FieldStorage()
efrom = form.getvalue('from')
eto = form.getvalue('to')
esubject = form.getvalue('assunto')
eservidor = form.getvalue('Servidor')
esenha = form.getvalue('senha')
econteudo = form.getvalue('mensagem')

print ("Content-type: text/html\n\n")
print "<html><head><title></title></head><body>"
print 'enviando email\n'
try:
  msg1 = MIMEText('%s'% econteudo)
  msg1['Subject'] = econteudo
  msg1['From'] = efrom
  msg1['To'] = eto

  serv=smtplib.SMTP(eservidor,587)
  serv.ehlo()
  serv.starttls()
  serv.login(efrom,esenha)
  serv.sendmail(msg1['From'], msg1['To'], msg1.as_string())
  serv.quit()
except Exception, e:
  print "Erro ",e
else:
   print "Enviado!"
print "</body></html>"
=============================================================================================

Scripts recomendados

Consulta CNPJ online

hcoin - Preço do Dólar, Bitcoin e Euro em Python

Horóscopo do Dia

Lista de Tarefas

Conversor de String em Hex para String plana


  

Comentários
[1] Comentário enviado por bycorel em 28/11/2011 - 12:13h

amigo nao estou consseguindo colocar para enviar tem como vc me ajudar pode ate se remunerda.obrigado aguardo contato meu msn bycorel@live.com

[2] Comentário enviado por josephseraos em 26/01/2012 - 20:19h

Há alguma maneira de usar o meu computador para enviar e-mail para um GMAIL, HOTMAIL ou YAHOO, por exemplo?

Não consigo encontrar explicações claras sobre isso. Já encontrei ensinando como enviar e-mail, mas não há detalhes de o que devo ter instalado e/ou configurado no meu computador.

Obrigado,
Joseph


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts