Enviando emails com autenticação smtp python cgi

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

[ Hits: 9.956 ]

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

Quebrador de links

Script em Python 3.6 conectando em um API real da web

Conversor de String em Hex para String plana

2182611819

Google scan com interface gráfica


  

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