P>

capa_NET40_G.gif

Clique aqui para ler todos os artigos desta edição

Boa Idéia

Serviço para envio de E-mails

 

Este artigo discute

Este artigo usa as seguintes tecnologias

·       Serviços do Windows;

·       Envio de e-mails automatizado;

·       Eventos do Windows.

Visual Studio 2005 e C#.

 

Que tal criar um serviço que será executado pelo Windows Services para envio automático de e-mails? Essa é uma funcionalidade muito comum nos sistemas de hoje, como por exemplo, um sistema de aprovação de documentos, onde o aprovador precisa receber diariamente um e-mail até que ele aprove o documento que está em sua fila. No .NET é possível criar aplicações que serão executadas como serviços do Windows, é isso que faremos neste artigo.

Novo Projeto

Abra o Visual Studio 2005 e vá até a opção File>New>Project. Como mostra a Figura 1, Selecione o template Class Library, informe “EmailService” em Name e clique em OK.

 

image002.jpg

Figura 1. Criando Projeto Class Library

Veja que o projeto foi criado e que temos uma classe chamada Class1.cs. Você pode fechá-la e excluí-la através do Solution Explorer.

Banco de dados e tabela de e-mails

Para que o serviço possa enviar automaticamente e-mails para pessoas de uma determinada lista, precisamos ter essa lista em algum lugar. Um bom lugar para termos essa lista é uma tabela de um banco de dados.

Neste exemplo utilizaremos uma tabela em um SQL Server 2005, mas fique a vontade para usar o banco da sua escolha ou qualquer outra forma de armazenamento que deseje.

Veja na Figura 2 que neste exemplo criamos um banco chamado “EmailService” no SQL Server 2005. Dentro desse foi criada uma tabela chamada “Emails”. Você também pode conferir a estrutura da tabela na mesma figura ou através da Listagem 1.

 

image004.jpg

Figura 2. Database EmailService com a tabela Emails

 

Listagem 1. Script para a criação da tabela Emails no banco EmailService

USE [EmailService]

GO

/****** Object:  Table [dbo].[Emails]   ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[Emails](

  [email] [nvarchar](100)

    COLLATE Latin1_General_CI_AS NOT NULL,

  [nome] [nvarchar](50 ...

Quer ler esse conteúdo completo? Tenha acesso completo