quarta-feira, 27 de junho de 2001

Utilizando o Mailer - Componente de envio de e-mail (Freeware)

O Mailer é o componente de envio de e-mail da biblioteca NantuaObjects. O download pode ser feito clicando aqui para acessar o artigo com a versão 1.0 desta biblioteca.
O código abaixo (ASP somente, sem o HTML) exemplifica o envio de e-mail utilizando este objeto.

set varMail = Server.CreateObject("NantuaObjects.Mailer")

with varMail
  .Subtipo = 4 'Corpo em HTML
  .Servidor = "smtp.terra.com.br"
  .UID = "fulano"
  .ParaEmail = "fabio@terra.com.br; jose@uol.com.br"
  .DeEmail = "fulano@terra.com.br"
  .DeNome = "Fulano de Tal"
  .Anexos = Server.MapPath("arquivos/arq1.doc") & ";" & Server.MapPath("arquivos/arq2.xls")
  .Assunto = "Documentos"
  .Corpo = "Aí estão os <b>documentos</b>"
  .Enviar
end with

Cabem aqui algumas observações:
1. O exemplo é simples, mas também simplista, pois é estático. Imagine um banco de dados com 200.000 registros de clientes, todos com e-mail para mala-direta: aí sim você vê uma aplicação prática do componente!
2. O método Enviar é otimizado pois já incorpora o método Conectar. Quando você envia o e-mail, o componente checa se já existe conexão ao servidor: senão existir, ele conecta; se já existir, ele usa a conexão corrente. Por isso, você não deve conectar, enviar e desconectar a cada e-mail pois num looping para vários e-mails num banco de dados, vai haver uma perda enorme em performance se isto for feito. Ao mandar enviar o primeiro e-mail, o componente já conecta-se e no segundo e-mail, ele usa a mesma conexão que o primeiro usou. Os métodos Conectar e Desconectar só devem ser usados quando, depois de enviar algum e-mail, você mude de servidor ou o UID, no mesmo script ASP.
3. Você usa a mesma instância do objeto para enviar vários e-mails. Cada vez que o método Enviar for chamado, as seguintes propriedades são "zeradas", devendo ser setadas novamente no próximo e-mail: ParaEmail, DeEmail, DeNome, ParaCC, ParaBCC, Assunto, Corpo, RespPara, Data e Anexos.
4. Como o objeto roda no servidor, os anexos do e-mail devem estar no mesmo. Isso não é problema se você está enviando uma mala direta, pois os arquivos estão no servidor mesmo (ou ao alcance dele em sua rede interna). Contudo, se você estiver desenvolvendo um sistema de WebMail, então o cliente deste serviço deve, antes de mais nada, fazer um upload dos arquivos para o servidor (quem já enviou arquivos anexados em sistemas de WebMail - IGmail, BOL, entre outros - sabe como é!)


Gostaria muito de receber retorno quanto à eficácia deste componente, pois pretendo seguir desenvolvendo novos componentes Freeware para nossa comunidade.



Esta matéria foi postada originalmente no ASP4Developers por Adriano Nântua, que na época era "Engenheiro de software e analista de sistemas; Desenvolvedor ASP, Delphi, C/C++ e Java/JSP/Servlets; InterBase fan; Linux fan; Alvirrubro inveterado.". Hoje, vai saber...

0 comentários: