Enviar email por script Python no Zope/Plone

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

[ Hits: 10.018 ]

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

Como ler notícias com paywall

Listando árvore de processos

Geubuntu 7.10

Administração de usuários no Linux

Configurando dois monitores em uma única placa de vídeo no Ubuntu 9.10

  

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