Artigo Clube Delphi 82 - Envio automatizado de emails com Delphi e Outlook

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (0)  (0)

Artigo da Revista Clube Delphi Edição 82.

Esse artigo faz parte da revista Clube Delphi Edição 82. Clique aqui para ler todos os artigos desta edição

. imagem_pdf.jpg

Boa Idéia

Envio automatizado de emails com Delphi e Outlook

 

Recentemente fui convidado a incluir um recurso em um aplicativo, para que ele fosse capaz de gerar, automaticamente, e-mails através do Outlook. A idéia era percorrer todos os registros da tabela de funcionários, e para cada funcionário cadastrado, gerar um e-mail, através de um template previamente configurado pelo usuário, com os dados da mala direta.

Entre outros recursos, o aplicativo fornecia ao usuário a opção de gerar mensagens tanto em formato texto como em HTML. Neste artigo apenas demonstrarei recursos básicos, fornecendo uma introdução ao tema. Em outros artigos abordaremos recursos mais complexos, como, por exemplo, anexar arquivos, importar lista de contatos (ou exportar) e aplicação de filtros em mensagens recebidas.

No final da série, desenvolveremos um aplicativo completo que controlará o envio e recebimento de e-mails, em um banco de dados de rastreabilidade de mensagens, com o uso do TurboPower OfficePartner (freeware).

O aplicativo é bem simples, mas as idéias podem ser aplicadas em diversos outros projetos, como por exemplo, envio personalizado de e-mails para clientes aniversariantes, alerta de produtos com baixo estoque etc. Basta usar a criatividade.

 

Introdução sobre automação

Automação, como o próprio nome sugere, significa automatizar ou controlar algo. No conceito da programação, significa controlar uma aplicação através de outra. Funciona como um contrato entre as duas aplicações, e esse (contrato) funciona através de interfaces.

No Delphi, utilizamos as Type Libraries, que é uma espécie de repositório onde são expostas as funções disponíveis de uma aplicação. Neste artigo utilizaremos o Delphi 7, mas o exemplo pode ser aplicado nas versões posteriores (Delphi 2005 e 2006).

O Delphi 7 já vem com as Type Libraries importadas do Office 97, 2000 e XP. No caso trabalharemos com o Office 2003 e utilizaremos a unit OutlookXP. O exemplo pode ser aplicado com o Office XP.

 

Um exemplo simples

Crie um novo projeto no Delphi, e na seção uses adicione as units OutlookXP, OleServer e ComObj. No evento OnCreate do formulário adicione o código da Listagem 1.

 

Listagem 1. Exemplo simples de envio de e-mail

var

  NmSpace: NameSpace;

  Outlook: TOutlookApplication;

  MI: MailItem;

begin

  Outlook := TOutlookApplication.Create(nil);

  Outlook.ConnectKind := ckRunningOrNew;

  Outlook.Connect;

  try

    NmSpace := Outlook.GetNamespace('MAPI');

    NmSpace.Logon('', '', False, False);

 

    MI := Outlook.CreateItem(olMailItem) as MailItem;

    MI.Recipients.Add('destinatario@provedor.com.br');

    MI.Subject := 'Testando assunto';

    MI.Body := 'Testando corpo da mensagem';

    MI.Display(False);

  finally

"

A exibição deste artigo foi interrompida :(
Este post está disponível para assinantes MVP

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?