Enviando e-mail no DELPHI for ASP.NET utilizando GMail

Olá pessoal, neste pequeno tutorial pretendo mostrar um exemplo simples de envio de e-mail em ASP.NET utilizando os serviços do Gmail e DELPHI 2007 for .NET, dica do Edinei.

Primeiramente vamos criar uma nova aplicação, File -> New -> ASP.NET Web Application.



Feito isso, adicione três TextBox, um Button e uma Label, renomeie a propriedade ID das textboxes para: txbdestinatario, txbassunto e txbmensagem respectivamente, a Label para lblretorno e o Button para btnenviar, aumente o tamanho das textboxes de acordo com sua preferência e mude a propriedade textMode da txbmensagem para “Multiline”. Apague o que tiver na propriedade Text da lblretorno e mude a propriedade Text do btnenviar para “Enviar E-mail”. O formulário deve ficar parecido com o da imagem abaixo.



O txtdestinatario vai receber o endereço de e-mail que se deseja enviar uma mensagem, txbassunto o assunto e txbmensagem a mensagem, a lblretorno irá mostrar se o e-mail foi enviado com sucesso ou se ocorreu algum erro durante o envio e o btnenviar chamará a função de envio de e-mail.

Para usar as funções de envio de e-mail do .NET, é necessário adicionar as seguintes bibliotecas na uses.


Uses
System.Net.Mail, System.Net.Configuration, System.Text, System.Net;

Feito isso, de um duplo clique no btnenviar e implemente a função que vai enviar o e-mail através do serviço de envio de e-mail da Google, o gmail, veja função abaixo.

procedure TDefault.btnEnviar_Click(sender: TObject; e: System.EventArgs);
var
EmailRemetente: string;
NomeRemetente: string;
Mail: MailMessage;
Client: SmtpClient;
begin
Mail := MailMessage.create;
Client := SmtpClient.create;
EmailRemetente := 'seuEmail@gmail.com'; // O e-mail do remetente
NomeRemetente := 'Seu Nome'; // O nome do remetente
try
Mail.&To.Add(txbDestinatario.text); // Destinatário
Mail.From := MailAddress.create(EmailRemetente, NomeRemetente, System.Text.Encoding.UTF8);
Mail.Subject := txbassunto.text; // Assunto do E-mail
mail.SubjectEncoding := System.Text.Encoding.UTF8;
mail.Body := txbmensagem.text; // Mensagem do e-mail
mail.BodyEncoding := System.Text.Encoding.UTF8;
mail.IsBodyHtml := true;
mail.Priority := MailPriority.High; // Prioridade do E-Mail
client.Credentials := NetworkCredential.create(EmailRemetente, 'AquiSuaSenha'); // usuário e senha do Gmail
client.Port := 587; // Esta porta é a utilizada pelo Gmail para envio
client.Host := 'smtp.gmail.com'; // Definindo o provedor que irá disparar o e-mail
client.EnableSsl := true; // Gmail trabalha com Server Secured Layer
try
client.Send(mail);
lblretorno.text := 'E-mail enviado com sucesso!';
except on erro:exception do
lblretorno.text := 'Erro ao tentar enviar e-mail. '+erro.message;
end;
finally
client.free;
mail.free;
end;
end;

Depois de implementada a função é só compilar e executar (CTRL+SCHIFT+F9) para testar o envio de e-mails.

Até.

Referências: http://www.devmedia.com.br/articles/viewcomp.asp?comp=12520

ERBD: Data Warehouses: Fundamentos, Ferramentas e Tendências Atuais

Prof. Renato Fileto
Departamento de Informática e Estatística (INE)
Universidade Federal de Santa Catarina (UFSC)

Tópicos
 Conceitos básicos
 Sistemas de Suporte à Decisão
 Data Warehouses (DWs)
 OLTP vs. OLAP
 Modelo Dimensional e operadores OLAP (drill-down, roll-up, etc.)
 Planejando, projetando e implementando DWs
 Diretrizes gerais, fases do desenvolvimento e tarefas envolvidas
 Estudo de Caso: DWs para a agricultura
 Padrões e ferramentas para a implementação de DWs
 Principais componentes e padrões para DWs
 Ferramentas abertas e proprietárias para DWs
 Alguns temas de pesquisa atuais em DWs
 DWs com extensões espaciais e temporais
 Semântica em DWs
 Conclusões e referências para estudos adicionais

Pessoal, quem tiver interesse nesta área, baixa este arquivo, é muito bom.

Desenvolvimento de uma aplicação utilizando SOA: um estudo de caso

Minhas anotações sobre a apresentação do artigo "Desenvolvimento de uma aplicação utilizando SOA: um estudo de caso" por Roberto Felipe Caliendo e Daniel Luís Notari durante o V ERBD em Ijuí.

---

SOA: organizar o desenvolvimento de software com base nas regras de negócio da empresa com acesso de forma distribuída.

SOAP: Simple Object Acess Protocol

WSDL: Web Service Description Language

Repositório UDDI: Universal Description, Discovery and Integration

MOTIVAÇÃO

os sistemas existentes hoje não estão aptos a trocar informações automaticamente pois são feitos em linguagens diferentes, com formas de armazenamento diferentes etc.

OBJETIVO

implementar alguns serviços nque pudessem ser reutilizados utilizando RSS (realy simple syndication??), web services abertos ao publico que queira se cadastrar e selecionar suas preferencias de leitura, web service de email e outro de operações diversas...

ARQUITETURA Microsoft
- SQL Server
- turbo delphi for dotnet
- IIS

DESENVOLVIMENTO EM CAMADAS: aplicação - webservice - negócio - BD

CONCLUSÕES

- SOA: necessidade de planejar, definir corretamente interface do serviço, diferentes aplicações consomem o mesmo serviço, trocar informações.
- Dificuldades técnicas para montagem de ambiente de desenvolvimento
- Disponibilidade webservice: CEP - Correios, era grátis passou a ser pago.
- Precisa ser testado em larga escala, viabilidade, problemas com muitos acessos...

E-mails: rfcaliendo@gmail.com, daniel.notari@ucs.br

Até.

Banco de Dados para o Núcleo de Pesquisa e Aplicações de Geotecnologias em desastres naturais e eventos extremos

Fica aqui minhas anotações, ainda do V ERBD, sobre a apresentação de artigos técnicos sobre BDs, a primeira apresentação foi sobre banco de dados para o núcleo de pesquisa e aplicações de geotecnologias em desatres naturais e eventos extremos, com Jolvani Morgan - INPE - CRS.

OBJETIVOS
- Mapeamento de áreas de riscos com imagens de satélites
- Criação de mapas e cartas para monitormanento dinamico

Utilizam PostgreSQL suporta dados espaciais de forma nativa utilizando em conjunto a extenção PostGis

Ferramentas SIG (sistemas de informação geográfica??) para visualização de multipolígonos gravados no banco: quantum GIS

Utilizaram uma ferramenta pra gerar PHP pra desenvolver um sistema web para obter informações de pessoas ao redor do mundo sobre desastres e ver imagens, mapas e dados do banco.

I3Geo - ferramenta para geração de mapas dinâmicos

Home page: http://www.inpe.br/crs/geodesastres
E-mail: jmorgan@inf.ufsm.br

Logo mais resumos dos outros artigos técnicos, até.

ERBD 2009: Funções de similaridade e suas aplicações

Minhas anotações sobre o mini-curso "Funções de similaridade e suas aplicações" ministrado pela Carina F. Dorneles (dorneles@upf.br), durante o V ERBD.

FUNÇÕES DE SIMILARIDADE

- Como calcular a similaridade?
Similaridade é uma coisa subjetiva e o computador te muita dificuldade de definir se é ou não.

- Consulta
Executar consultas sobre várias bases de dados

- Integração
Efetuar integração dos dados

- Data Cleaning
Efetuar a impeza dos dados antes de inserir em uma nova base como por exemplo DWs

Exemplo de consulta SQL utiliazando a função de similaridade levenshtein

select artigo from bdbcomp where levenshtein (autor, 'agma machado traina') > 0,75

// vai buscar artigos de autores com 75% de similaridade no nome 'agma machado traina'.


Exemplo da mesma função para integração...

levenshtein ("league of ... Action","League of ... Sci-Fi") >= 0.78

// integrar aquilo cujo linar de similaridade maior que 78

É bastante usado Data WareHouses na parte de Data Cleaning, limpeza de dados, exemplo:

levenstein('ijuí - RS','ijuí - RGS')
// pra elimiar inconsistências, erros de digitação etc, vai trocar os RGS por RS se não me engano :D

Avaliaçao de uma função
- Revocação
- Precisão
- Discernabilidade

SIMILARIDADE X DISTÂNCIA

A função de similaridade tem dois parametros e retorna um valor, um escore entre 0 e 1, quanto maior for mais similar são entre si.

A função de distância tem dois parametros e retorna um valor, mas o escore vai de zero até o infinito, quanto menor o valor do escore, maior a similariedade.

Fórmula para transformar distância em similaridade:

similaridade = 1 - (valor de distância normalizado)

Ferramenta
- Similarity Metrics Testing Suite

* valores atomicos: strings
- baseadas em caracter
- baseadas em Token

* valores agregados
- uso em expressões algébricas
- uso em algoritmos

SVM - Inteligência artificial - tuplas - faz algoritmos para testar com funções de distancias partes de atributos para saber se os dados sao similares, criando vetores de valores que sao enviados para SVM fazer a comparação e dizer se os dados sao duplicados ou não.

ROTEIRO
- consultas por similaridade
- integração de dados
- data cleaning
- mineração de dados


SGBDs que implemetam funções de similaridade

POSTGRESQL
MYSQL
DB2
ORACLE


FUNÇÕES NO POSTGRESQL

- levenshtein
- soundex
- dmetaphone (fonético tbm)

APLICATIVO WEKA - FREE

www.CS.WAIKATO.AC.NZ/WEKA
Ferramenta de mineração, vários algoritmos para técnicas mais conhecidas, extensível, algoritmos podem ser usados para compor outras aplicações, é necessário

DEMOSTRAÇÃO
queens.db.toronto.edu/project/spider/demo

FERRAMENTA QUE LEVA EM CONSIDERAÇÃO SINONIMOS -> WORDNET??

Classificação

- Funções para valores atomicos

*Lenshtein
*Soundex
*Achronimous

- Função Token, quebra as strings em partes antes de comparar...

*Jaccard

Bom, minhas anotações ficaram meio desconexas porque eram muitas informações e não dava tempo de prestar atenção e anotar tudo ao mesmo tempo, mas o assunto é interessante e pode ter várias aplicações como, antes de cadastrar uma pessoa, verificar se o nome já existe através da fonética e ai por diante, o problema é que isso pode diminuir muito a performance da aplicação, mas fica a dica e é uma área que ainda existem poucas pesquisas...

Link para material do V ERBD.

Até.