Buscar

Delphi 7 e gmail (conexão com autenticação)

Código

Já postei aqui no Planeta Delphi outra dica mostrando como enviar um

email pelo Delphi usando o servidor SMTP do Yahoo, e agora posto aqui

como faze-lo usando o Gmail, que tem alguns detalhes a mais...


O Gmail utiliza um sistema de criptografia chamado SSL, e para podermos

conectar nossa aplicação à ele, necessitamos de duas dlls especificas:

libeay32.dll e ssleay32.dll. Elas podem ser encontradas no link abaixo:

http://indy.fulgan.com/SSL/indy_OpenSSL096m.zip

Após baixa-las, descompacte-as no diretório C:WINDOWSSystem32

Feito isso podemos iniciar nosso projeto. Insira no form os seguintes

componentes: IdSMTP (paleta Indy Clients), IdMessage (paleta Indy

Misc), IdSSLIOHandlerSocket (paleta Indy I/O Handlers) e um botão.

Para facilitar, renomeie o nome dos componentes para SMTP, MSG e

SSLSocket, respectivamente.

Agora no OnCreate do form:

procedure TForm1.FormCreate(Sender: TObject);
begin

   with SMTP do
   begin
      AuthenticationType := atLogin;
      Host := 'smtp.gmail.com';
      IOHandler := SSLSocket;
      Password := 'sua senha no gmail';
      Port := 465;
      Username := 'seulogin@gmail.com'; //não esqueça o @gmail.com!!
   end;

   SSLSocket.SSLOptions.Method := sslvSSLv2;
   SSLSocket.SSLOptions.Mode := sslmClient;

end;


Exemplo simples de uso com um botão:


procedure TForm1.Button1Click(Sender: TObject);
begin

   with MSG do
   begin
      Body.Add('corpo da mensagem');
      From.Address := 'email do remetente'; //opcional
      From.Name := 'nome do remetente'; //opcional
      Recipients.Add;
      Recipients.Items[0].Address := 'shaokhann@gmail.com';
      Recipients.Items[0].Name := 'nome do destinatario'; //opcional
      Subject := 'assunto da mensagem';
   end;

   try
      SMTP.Connect();
      SMTP.Send(MSG);
      SMTP.Disconnect;
   except
      ShowMessage('Falha no envio!');
      exit;
   end;
   ShowMessage('Mensagem enviada com sucesso!');

end;


Shelon Andriel Marini
shaokhann@gmail.com

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Rede
Adicionada dia: 02/07/07
Por: Andriel Marini
Visualizada: 20613 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009