Ir para o conteúdo. | Ir para a navegação

Ferramentas Pessoais
| Home \ Enviar email por Script Python  

 

Enviar email por Script Python

Este é um artigo de como você pode enviar email por script python no zope, a diferença de usar os mesmos parâmetros com o python do sistema é minima.

Após se logar no zope entre na ZMI e vá ate o menu de Add do Zope[1] ( Select Box ), adicione um (Secure Mail Host ou um Mail Host ) após adicionar o produto deve ser configurado o servidor de SMTP[2], com seus dados; E-mail, senha e servidor de SMTP. Como mostra a imagem a baixo.

 


Desta  forma:

mailhost.png

 

ID = Deve-ser deixar MailHost.

TITLE = Isso é opcional é só por organização mesmo.

SMTP HOST = Deve ser colocar o servidor de envio de email é o mesmo usado em configuração de OutLook, ThunderBird, IncreMail e outros gerenciadores de e-mail.

SMTP PORT = Deixar da forma que vim preenchido, ou troque pela porta do seu servidor de SMTP (a maioria dos servidores costuma usar a posta 25 mesmo).

AUTHENTICATION ID = Login para autenticação no servidor de SMTP, costuma ser o seu e-mail as vezes com @ ou não, dependendo do provedor.

PASSWORD = Senha do email usado para autenticação.

 

Criando o script

 

Volte ao menu de Adicionar produtos do ZOPE. Selecione o item Script Python.n 

 

request = container.REQUEST

RESPONSE =  request.RESPONSE

## Trecho responsável pela validação da existência do MailHost   
## e pela geração da variável com o endereço do MailHost.
## Caso você na hora de adicionar o MailHost tenha adicionado
## um Secure Mail Host basta trocar Mail Host por Secure Mail Host.

try:   mailhost=getattr(context, context.superValues('Secure Mail Host')[0].id) except:  raise AttributeError, "cant find a Mail Host object" ## Gerando uma variável que será o remetente da mensagem remetente = "thiago@thiagofigueiredo.com" ## Gerando uma variável que será o da mensagem destinatario = "tmarquesfigueredo@yahoo.com.br"

## Gerando a mensagem a partir das variáveis
mMsg = "To: " + remetente + "\n" mMsg = mMsg + "From: " + destinatario + "\n" mMsg = mMsg + "Mime-Version: 1.0\n" mMsg = mMsg + "Content-Type: text/plain; charset=UTF-8\n" mMsg = mMsg + "Content-Transfer-Encoding: 8bit\n\n" mMsg = mMsg + "Aqui vem a mensagem por inteiro \n" mSubj = "Aqui deve vim o assunto da mensagem" mailhost.send(mMsg, subject=mSubj) ## Finaliza se não houver erros e retorna a seguinte mensagem; "Mensagem enviado"
return "Mensagem enviada"

Basta testar :D

[1 ZOPE:] http://www.tchezope.org/documentacao/faq/o-que-e-o-zope

[2 SMTP:] http://pt.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol

Abraço

Thiago M. Figueiredo

Ações do documento