Enviando emails com autenticação smtp python cgi
Publicado por Alisson Machado (última atualização em 02/07/2011)
[ Hits: 10.257 ]
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>"
=============================================================================================
A Fundação da Confiança Digital: A Importância Estratégica de uma PKI CA na Segurança de Dados
Como enviar dicas ou artigos para o Viva o Linux
Como Ativar a Aceleração por GPU (ROCm) no Ollama para AMD Navi 10 (RX 5700 XT / 5600) no Gentoo
Cairo Dock ainda funcional nos dias de hoje
Configuração de IP fixo via nmcli e resolução de nomes via /etc/hosts no Gentoo
Removendo o bloqueio por erros de senha no Gentoo (systemd)
Papel de Parede Animado no KDE Plasma 6 (Com dicas para Gentoo)
Homebrew: o gerenciador de pacotes que faltava para o Linux!
Tentando fazer um "linux ricing" mas falhando miseravelmente... (2)
Elilo e Sofrimento no Slackware (3)
Não consigo instalar as bibliotecas em Python pelo terminal. (1)









