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
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
...