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



Atenção: por essa edição ser muito antiga não há arquivo PDF para download. Os artigos dessa edição estão disponíveis somente através do formato HTML. 

DelphiMail

Crie uma aplicação web completa passo a passo

 

Existem diversas aplicações que permitem o uso de serviços através de um navegador – dentre as mais comuns está o Webmail. Um Webmail, você sabe, nada mais é que um cliente de e-mail como o Outlook, Eudora, KMail etc., com a diferença de ter sua interface baseada em HTML.

Neste artigo veremos como construir um Webmail no Delphi usando os componentes WebSnap, tecnologia que surgiu no Delphi 6 e permite a construção de aplicações web usando toda a infra-estrutura do Delphi (e do Kylix).

O enfoque aqui é na parte prática do WebSnap; você pode encontrar uma introdução aos conceitos e arquitetura dessa tecnologia na Edição 20 e na seqüência de artigos das Edições de 24 a 29. Além do WebSnap, usaremos componentes da paleta Indy para fazer a leitura e o envio de e-mails. Para construir o exemplo você vai precisar do Delphi 6 ou 7 versão Enterprise ou Architect.

Nota: o exemplo deste artigo é baseado em um dos demos do Delphi.

 

Estrutura da aplicação

Nossa aplicação será composta por quatro páginas/módulos:

- Login (módulo pmLogin);

- Caixa de entrada (módulo pmListar);

- Visualização de mensagens (módulo pmLer);

- Envio de mensagens (módulo pmEnviar).

O esquema de páginas da aplicação pode ser visto na Figura 1.

 

Figura 1. Páginas do Webmail

 

Módulo principal

Crie uma aplicação WebSnap (usando File|New>Other>WebSnap> WebSnap Application) – veja a Figura 2. Será mostrada a caixa de diálogo da Figura 3. Escolha a opção Web App Debugger Executable. No campo Class Name digite “Webmail” e marque a opção Cross Platform para que a aplicação utilize a CLX. Na seção Application Module Components escolha Data Module e em Application Module Options altere a opção Caching para Cache Instance. Clique no botão Components para definir quais componentes de serviço do WebSnap serão utilizados. Marque a opção End User Adapter e na caixa de seleção escolha TEndUserSessionAdapter. Marque também o campo Sessions Service (veja a Figura 4) – isso adicionará recursos de controle de sessões à aplicação. Clique em OK duas vezes seguidas para criar a aplicação WebSnap.

 

Figura 2. Nova aplicação WebSnap

 

Figura 3. Definição do módulo principal

 

Figura 4. Componentes da aplicação

 

Crie uma pasta chamada Webmail e dentro dela salve o módulo principal (Unit2.pas) como wmWebmail.pas, o formulário (Unit1.pas) como wForm.pas e o projeto como DelphiMail.dpr.

Selecione o componente ApplicationAdapter e altere sua propriedade ApplicationTitle para “DelphiMail – ClubeDelphi”. Este será o título principal da aplicação.

Adicione um componente IdPOP3 da paleta Indy Clients. Altere sua propriedade Host para o endereço do servidor POP3 que você vai utilizar, por exemplo pop3.seuprovedor.com.br. Insira um componente IdSMTP (paleta Indy Clients) e altere sua propriedade Host para o endereço do seu servidor SMTP. Adicione também um componente IdMessage da paleta Indy Misc. O WebAppDataModule deve estar semelhante ao da Figura 5.


Figura 5. Módulo principal da aplicação

 

Login

Clique em File|New>Other>WebSnap e escolha WebSnap Page Module. Em Type escolha AdapterPageProducer e na seção HTML escolha o valor blank para Template. No campo Name digite “pmLogin”, em Title digite “Login” e desmarque a opção Published.

Salve a unit como Login.pas e adicione ao módulo um componente LoginFormAdapter da paleta WebSnap. Dê um duplo clique nesse componente para abrir o editor de campos, clique com o botão direito no painel da direita e selecione Add All Fields. Você terá uma janela semelhante à mostrada na Figura 6.

 

Figura 6. Campos do LoginFormAdapter

...

Quer ler esse conteúdo completo? Tenha acesso completo