Enviando emails com autenticação smtp python cgi
Publicado por Alisson Machado (última atualização em 02/07/2011)
[ Hits: 10.233 ]
Homepage: alissonmachado.com.br
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
# 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>"
=============================================================================================
Tradutor on-line em Python+GTK
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Gentoo binário em 2026: UEFI, LUKS, Btrfs e Systemd
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Gentoo: Trocando wpa_supplicant pelo iwd no NetworkManager (Systemd)
O que houve com slackware ??? (12)
Alterar conteúdo de dica [RESOLVIDO] (3)
Vou destruir sua infância:) (5)









