terça-feira, 5 de maio de 2009

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

Nenhum comentário: