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:

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

