Esqueci a Senha - Enviando E-Mail pelo UserControl - MailUserControl (UCMail)
1 - Apresentação
Estimados amigos desenvolvedores, chegamos a última parte de nosso tutorial sobre o UserControl. Para encerrar este tema, apresento o componente de mensagem. Vamos dar uma pequena passeada pelo código-fonte do componente, e destacar uma função importante que nos ajudará a montar o corpo do e-mail através de parâmetros. Então vamos começar a fazer o nosso trabalho.
2 - É importante analisar o Código-fonte?
Qualquer componente que você tenha acesso ao código-fonte é sempre uma base de informações bem interessante. Muitos desenvolvedores aperfeiçoam as suas técnicas lendo e aprendendo, em seguida, acabam implementando ou personalizando esses componentes. o UserControl é uma suite de código-fonte aberto e com uma altíssima qualidade de programação. Se você abrir o código do UCMail, verá que não é muito extenso e que na verdade, é uma mistura de componentes Indy (SMTP) com algumas propriedades que são enviadas diretamente pelo componente UCMail. Abra o arquivo UCMail.pas e veja esse código:
Esse código é declarado como privado e é usado pelo próprio componente, para montar o corpo de texto dos e-mail's que serão enviados para o usuário.
3 - Começando o trabalho de configuração para o envio de e-mail
Adicione ao Datamodule um componente TMailUserControl(UCMail) presente na paleta UC Main. Todos os componentes que adicionamos anteriormente faziam conexão com o UserControl, agora a situação se inverte; o UserControl e quem se conecta com o MailUserControl. Na propriedade Name do MailUserControl entre com ucMail. Clique sobre o componente ucMyControl e na propriedade MailUserControl preencha com ucMail conforme apresentado na figura abaixo.
Quando esta conexão dos dois componente é estabelecida, na janela de login do UserControl há um link que se torna visível e funcional depois que o usuário entra com o seu nome. Quando não existe a conexão, o label "Esqueci a Senha" não será apresentado aos usuários do seu sistema.
4 - Configurações básicas do MailUserControl
Expanda todas as propriedades presentes no ucMail que adicionamos no datamodule. Os seguintes eventos ocorrem com:
Propriedade AdicionaUsuario
Quando a propriedade Ativo estiver definida para TRUE, um e-mail é enviado para o usuário quando ele é registrado no sistema através através da janela de cadastro de usuários - visto no primeiro tutorial. A propriedade Titulo é usada para definir o Assunto.
Propriedade AlteraUsuario
Ocorre quando os dados do usuário são alterados através da janela de cadastro de usuários. Só ocorre o envio do e-mail quando a propriedade Ativo estiver definida para True.
Propriedade EmailRemetente
Defina essa propriedade contendo a conta de e-mail do usuário. Exemplo: se os e-mail's forem emitidos por uma conta do Yahoo chamada "suporteMinhaEmpresa@yahoo.com.br", preencha com essa conta.
Propriedade EsqueceuSenha
Ocorre quando o login de usuário está sendo executado. Quando o usuário preenche o seu nome na janela de login, e que por ventura tenha esquecido da senha, quando clica no label "Esqueci a senha", o usercontrol efetuará um pesquisa procurando pelo endereço de e-mail registrado no banco de dados, no cadastro de usuários; se o nome de usuário for encontrando no sistema, o envio do e-mail e executado. A propriedade LabelLoginForm é o texto que aparece na janela de login para o usuário. Você pode mudar essa propriedade colocando qualquer outro texto que achar ser melhor. A propriedade MensagemEmailEnviado, é uma mensagem que é apresentada ao usuário depois do componente enviar com sucesso o e-mail.
Propriedade NomeRemetente
É preenchido no campo "De:" do e-mail. Quando o e-mail é recebido, aparece DE: Sistema JEDY de E-mail, para: "Sabrina Sapeca" por exemplo.
Propriedade Porta
É a porta padrão de envio de e-mail pelo protocolo SMTP (Simple Mail Transfer Protocol). O número dessa porta é 25 por Default, porém outros servidores de e-mail poderão exigir uma porta diferente. Um exemplo é para os que usam o servidor de e-mail do Yahoo que exige a porta 467 (se não estou enganado).
Propriedade Senha
É a senha que você usar para acessar essa conta. Caso a sua senha seja "123456654321" é essa a senha que deve ser preenchida.
Propriedade SenhaForcada
Quando alguém ou você tenta acessar o sistema tentando adivinhar a senha.
Propriedade SenhaTrocada
O e-mail é enviado quando o usuário troca a senha através do comando de menu
definido na propriedade ChangePasswordform > MenuItem do componente UserControl. Caso
esta função tenha sido liberada para os usuários.
Propriedade ServidorSMTP
Nessa propriedade deve ser especificado o servidor de SMTP. Exemplo: Se você usa o Yahoo como servidor de e-mail, defina "smtp.mail.yahoo.com.br". Se a sua empresa tem um domínio, então use o servidor do seu domínio, exemplo: "smtp.Jedy.com.br".
Propriedade Usuario
Deve ser o nome do proprietário ou de login da conta de e-mail. Exemplo: Se você usa o servidor de E-mail Bol e seu login de usuário é SouJedySetimoDam; esse é o nome de usuário que deve ser registrado na propriedade.
Veja o Object Inspector com todas as propriedades expandidas
Todos os comandos que acabam resultando no envio de um e-mail possuem a propriedade Mensagem. Essa propriedade pode ser preenchida com um texto apropriado a cada evento em que foi acionado.
Exemplo: Se o usuário trocou a senha, você pode enviar um texto (corpo da mensagem) mais ou menos com esse dizeres: "Através do comando de troca de senha, você entrou com uma senha nova e que terá validade no próximo login. Essa mensagem não deve ser respondida. Ela e gerada automaticamente pelo seu sistema mais preferido - Sistemas Jedy Sétimo Dam. Obrigado! Passe bem!".
Porém, você lembra do que falei no início desse tutorial? Sobre aquela parte do código-fonte UCMail? Nós podemos nos beneficar criando uma mensagem mais ou menos assim, veja a figura abaixo:
Feito isso amigos, podemos fazer um teste digitando um nome válido de usuário registrado em nosso pequeno sistema e que tenha um e-mail válido é claro. Digite o nome do usuário e quando o campo "Esqueci a Senha" ficar habilitado, clique nele. Uma pequena janela se abrirá informando os passos do envio do e-mail. Se você estive usando o Yahoo ou qualquer outro provedor de serviços de mensagens (smtp), deverá consultar a ajuda dos provedores e obter as informações sobre o sistema de envio e recepção de mensagens usando o POP e SMTP. Se ocorrer uma pequena exceção exigindo o recurso de envio seguro, acesse o site www.usercontrol.net e lá você encontrará um post do usuário bitzero_000 (que sou eu) falando a forma de corrigir esse pequeno problema. Isso deverá acontecer principalmente com os serviços de mensagem do Yahoo, pelos testes que fiz.
Amigo, aqui me despeço (acho que é assim que se escreve) em relação ao tutorial dos componentes do UserControl. Foi muito bom saber que muitos usuários acessaram e estão procurando conhecer esse conjunto de componentes gratuítos. Todos aqueles que fizerem questão de participar e ampliar os recursos dessa maravilhosa suite, são bem-vindos. Só assim, poderemos melhorar ainda mais o que já temos.
Não esquecendo aqui também de ressaltar a importância do principal desenvolvedor e também quem disponibilizou os componentes - o Rodrigo (Qmd), ao Luiz Benevenuto - desenvolvedor e mantenedor do site, e Fellipe Henrique (desenvolvedor); todos eles, desenvolvedores e com uma proposta aberta de contribuir com o mundo dos desenvolvedores sem cobrar nada em troca.
Abraços - Exio
Publicidade
Vote no artigo
Quantidade de votos: 0 votos Aceitação:0%
Detalhes do artigo
Categoria: Componentes Adicionado dia: 04/04/07 Por: Exio Visualizado: 38629 vezes