sexta-feira, 12 de novembro de 2010

OpenPOP - Para ler, baixar e-mails e analisar a partir de um servidor POP3

Cenário: Para ler, baixar e-mails e analisar a partir de um servidor POP3, com ou sem senha, com e sem uma ligação segura (SSL).

O que é POP3?

Tecnicamente utilizaremos o protocolo POP3, O "Post Office Protocol (POP3) é um protocolo utilizado no acesso remoto a uma caixa de correio eletrônico. Ele está definido no RFC 1225 e permite que todas as mensagens contidas numa caixa de correio eletrônico possam ser transferidas sequencialmente para um computador local. Aí, o utilizador pode ler as mensagens recebidas, apagá-las, responder-lhes, armazena-las, etc.." Quer saber mais a respeito? Acesse o link na Wikipédia: http://pt.wikipedia.org/wiki/Post_Office_Protocol

Como faremos?

Fiz uma pesquisa na internet de vários componentes pagos/free que me ajudariam nesta atividade, e uma opção bacana seria o OpenPop , trata-se de um projeto open source (código fonte aberto), desenvolvido em C# (.NET) ... Quer melhor que isso? Este componente implementaria a busca e leitura de emails na sua caixa postal...

Uma observação: O OpenPop inicialmente acessa qualquer servidor POP, contudo, sem SSL , mas daremos um jeito adiante... :)
Download do OpenPop

1. Baixe o OpenPOP através de um dos links abaixo:

http://cid-8ae8d416e1189d41.skydrive.live.com/self.aspx/P%c3%bablico/C^3/Components/POP3/openPOP.rar
Ou
http://sourceforge.net/projects/hpop/

Iniciando o desenvolvimento

Nosso projeto

1. No Visual Studio, crie um projeto do tipo Windows App, neste exemplo estou utilizando o C#.

2. Após copiar os componentes para um diretório de sua preferência, adicione a referência do componentes MimeParser e o OpenPop ao seu projeto.

Eu não falei da classe MimeParser, ela existe devido a norma existente para formatação de mensagens de emails, simplificando as coisas, você não vai precisar fazer código para poder ler o texto dos seus emails... hehe, quer saber mais a respeito?? Acesse o link: http://pt.wikipedia.org/wiki/MIME


3. Acesse o form (modo code) e adicione a referência dos namespaces conforme abaixo:

using OpenPOP.POP3; using System.IO; using OpenPOP.MIMEParser;


4. Adicione o botão no form, e no evento do mesmo coloque o código abaixo:

private void button1_Click(object sender, EventArgs e)
{
try { POPClient _pop = new POPClient("pop3.servidor.com.br", 110, "suaconta@seudominio.com.br", "seunome", AuthenticationMethod.USERPASS); int Count = _pop.GetMessageCount(); if (Count > 0) { for (int i = Count; i >= 1; i -= 1) { StringBuilder sb = new StringBuilder(); OpenPOP.MIMEParser.Message _msg = _pop.GetMessage(i, false); sb.AppendLine("De: " + _msg.From + " " + _msg.FromEmail); sb.AppendLine("Para: " + _msg.TO[0]); sb.AppendLine("Assunto:" + _msg.Subject); sb.AppendLine("Mensagem: \n\r" + _msg.MessageBody[0]); if (_msg.AttachmentCount > 0) { string str = string.Empty; for (int A = 0; A < _msg.AttachmentCount; A++) { Attachment attachment = _msg.GetAttachment(A); object obj2 = str; str = string.Concat(new object[] { obj2, _msg.GetAttachmentFileName(attachment), "(", attachment.ContentLength, " bytes)\r\n" }); _msg.SaveAttachment(attachment, "c:\\pop_" + _msg.GetAttachmentFileName(attachment)); } } } } _pop.Disconnect(); } catch (Exception ex) { MessageBox.Show(ex.Message); }
}
Note que o código acima funciona com qualquer servidor POP, sem SSL, para acessar um servidor com SSL, exemplo Gmail, Windows Live, Hotmail ... (você tinha que dificultar as coisas?? ) você tem que se conectar ao servidor POP através do soquete e uma camada SSL, para isto, será necessário fazer uma extensão do OpenSource, faremos os passos abaixo: 1. Faça o download dos códigos fontes do OpenSource; 2. Baixar arquivos da biblioteca Mentali's free SSL library , e o código fonte; 3. Teremos que fazer uma modificação no código dos componentes e fazer uma recompilação do projeto; Vou continuar com isso prometo...

terça-feira, 9 de novembro de 2010

Alguns motivos para comprar software legalmente

Trabalhar com mais eficácia
Todos os usuários têm software de alta qualidade, totalmente funcional e podem receber suporte em caso de dúvidas.

Economizar hoje e amanhã
A compra de software legal representa uma economia em dinheiro de diversas maneiras. Primeiro, adquirindo até mesmo pequenos volumes, você poderá se qualificar para programas de licenciamento por volumes, conseguindo descontos consideráveis. Além disso, todos os licenciados registrados recebem informações sobre atualizações, upgrades e ofertas especiais que aumentam a produtividade. As empresas que gerenciam suas licenças de software padronizam com eficiência funcionários em plataformas comuns, livram-se de bens obsoletos ou não utilizados, e gerenciam melhor, o que resulta em menos chamadas de suporte de TI, custos administrativos mais baixos e maior satisfação do usuário.

Planejar com confiança
As empresas totalmente compatíveis sabem exatamente quais são seus requisitos de software e podem orçar e planejar melhor para o futuro.

Contribuir para a economia
Ao comprar software legal, você contribui para os negócios que podem melhorar seu software, e também para a economia mundial.

Ter tranqüilidade
Estando compatível, você tem a certeza de estar protegendo sua empresa de honorários legais, penalidades financeiras e má divulgação, itens que acompanham as ações legais contra pirataria.

Experiência de Liderança

Cada ser humano possui forças que ele próprio pode desenvolver, desde
que tenha caráter, talento, vocação e motivação, encontre um clima
organizacional adequado e seja orientado por um líder realmente
comprometido em apoiar sua educação.

Valorize o seu dia

Não acrescente dias a sua vida, mas vida aos seus dias.
(Harry Benjamin)

Confiança e Credibilidade

Não há confiança sem credibilidade, não posso, ninguém pode, ter e manter a confiança em mim mesmo se eu não for digno dessa confiança: isto é, correto, rigoroso, firme e fiel a meus compromissos, a meu projeto, a meus deveres.

(PEYREFITTE, Alain. Idem)

domingo, 7 de novembro de 2010

Buscar sua própria identidade

Um músico deve compor, um artista deve pintar, um poeta deve escrever caso pretendam deixar seu coração em paz. O que o homem pode ser ele deve ser. A essa necessidade podemos dar o nome de auto-realização. (MASLOW, Abraham Harold. Idem.)

O homem é inseguro por natureza

O homem é um animal inseguro. No animal, os instintos e o mundo ao qual eles se adaptam estão ligados, fazem dele um feixe de respostas. O homem, ao contrário, é um feixe de perguntas. Sua ação não se adapta ao meio. Ela o transforma. (Antonio Carlos Gomes da Costa)