Enviar email por script Python no Zope/Plone

Publicado por Thiago M. Figueiredo em 12/11/2008

[ Hits: 9.804 ]

Blog: http://www.thiagofigueiredo.com

 


Enviar email por script Python no Zope/Plone



Opa, após se logar no site entre na ZMI e vá no menu de Add do Zope (Select Box). Adicione um "Secure Mail Host" ou um "Mail Host". Após configurar o produto deve-se configurar o SMTP de sua preferência e email de autenticação no servidor.

Fica desta forma:
Linux: Enviar email por script Python no Zope
Onde:
  • ID = Deve-se deixar MailHost;
  • TITLE = Isso é opcional, é só por organização mesmo;
  • SMTP HOST = Deve-se colocar o servidor de envio de email, é o mesmo usado em configuração de OutLook, ThunderBird, IncreMail e outros gerenciadores de email;
  • SMTP PORT = Deixar da forma que vem - 25 mesmo;
  • AUTHENTICATION ID = Deve ser o login para se autenticar no servidor de envio de email;
  • PASSWORD = Sim, como parece, aqui é mesmo a senha.

Após toda essa configuração vamos criar o script Python.

Vá no selectbox do Zope e adicione um script python.

request = container.REQUEST
RESPONSE = request.RESPONSE
## Isso serve para validar se existe o Secure Mail Host se você esta usando Mail Host
## basta trocar de Secure Mail Host para Mail Host
try:
   mailhost=getattr(context, context.superValues('Secure Mail Host')[0].id)
except:
   raise AttributeError, "cant find a Mail Host object"

## Aqui ele está gerando um variável que será o remetente da mensagem
remetente = "tmarquesfigueredo@yahoo.com.br"

## Aqui ele esta gerando um variável que será o da mensagem
destinatario = "thiago_d2@hotmail.com"

## Aqui ele está 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 vir o assunto da mensagem"
mailhost.send(mMsg, subject=mSubj)

## E aqui para finalizar, se não houver erros, ele retorna a mensagem: "enviado"
return "Mensagem enviada"

Pronto, basta testar e ver se ele envia a mensagem corretamente e boa brincadeira...

Abraço
Thiago M. Figueiredo
Artigo original do meu site: Thiago Figueiredo.com

Outras dicas deste autor

Substituindo caracteres em Zope/Python

Leitura recomendada

Conhecendo a documentação do Debian

Configurando o teclado no Fedora 15

Como habilitar execução do sudo no Cron

ls exibindo somente diretórios

timeout - Controlando o tempo que um comando deve ser executado

  

Comentários
[1] Comentário enviado por leandro.zap em 06/12/2008 - 13:27h

# echo MENSAGEM! | sendmail -r REMETENTE -`date +%d.%m.%Y` destinatario@mail.com.....



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts