Fórum Delpih Indy Gmail SMTP SSL .. Como fazer? #309834

19/01/2006

0

PAra que minha aplicação acesse e envie emails utilizando o protocolo seguro de recebimento e envios de emails do GMAIL????


O4pr3ndiz

O4pr3ndiz

Responder

Posts

19/01/2006

Leonardobhbr

Este artigo foi copiado do Portal do Assinante se eu n~~ao me engano :D

link
https://www.devmedia.com.br/visualizaComponente.aspx?comp=958&;site=3


Acessando contas GMail com o Indy via POP3 SSL



O GMail é o serviço de correio grátis do Google. Recentemente, as contas GMail também poderão ser acessadas por meio do protocolo POP3 e SMTP (e podem ser utilizadas por programas cliente de correio como o Outlook).

O Gmail tem a seguinte peculiaridade: o acesso ao mesmo via POP3 utiliza encriptação SSL e portas não padronizadas. Esta dica, explica resumidamente como fazer conexões POP3 service do GMail, através de componentes Indy.

Precisamos colocar estes componentes em um formulário:

• Um TidPop3 (idPop31) (Indy Aba Clients)

• Um TidMessage (idMessage1) (Indy Aba Misc)

• Um TIdSSLIOHandlerSocket (IdSSLIOHandlerSocket1) (Indy Aba I/O handlers)

• Um TMemo (Memo1)

• Um TButton (Button1)



Para que o SSL funcione, o Indy usa a biblioteca OpenSSL, que é GPL e foi implementada por terceiros, por isso, temos que fazer o download de forma que o TIdSSLIOHandlerSocket possa usá-la.

Para este teste, fizemos o download de: http://indy.fulgan.com/SSL e utilizamos o arquivo indy_openssl096.zip. Descomprimimos o ZIP e colocamos os dois DLLs no diretório do projeto.

Agora, fazemos com que o aquidPop31 utilize o IdSSLIOHandlerSocket1, configurando-o na propriedade IOHandler.

Colocamos o nome do servidor pop na propriedade Host de idPop31 - que no caso do Gmail é pop.gmail.com - designamos a porta - que para este caso em especial é a porta 995 - e atribuímos o username e senha no componente idPop31.

Isto feito, para testar a implementação, inserimos este trecho de código no evento OnCLick de Button1:



procedure TForm1.Button1Click(Sender: TObject);

var

n, nummsgs: integer;

begin

Memo1.Lines.Clear;

//Conectamos!

idpop31.Connect(0);

//Obtemos o numero de emails que ha na fila

NumMsgs := idpop31.CheckMessages;

Memo1.lines.add(´Emails:´ +IntToStr(NumMsgs));

for n:=1 to NumMsgs do

begin

idpop31.RetrieveHeader(n,idMessage1);

Memo1.Lines.Add(´Email Nº:´+IntToStr(n)+

´ De:´+idMessage1.From.Text+

´ Tema:´+idMessage1.Subject);

idMessage1.Clear;

end;

idpop31.Disconnect;

end;



E teremos um exemplo que obterá os cabeçalhos dos e-mails da conta de GMail.



Nota: precisamos de uma versão atualizada da biblioteca Indy. Se o seu Delphi não a tiver, não se preocupe, pode fazer o download no site oficial: http://www.indyproject.org.


Responder

Gostei + 0

19/01/2006

O4pr3ndiz

... agradeço a força e jah vi o artigo eu preciso de um exemplo que utilize smtp e naum pop3...

Athe


Responder

Gostei + 0

19/01/2006

Leonardobhbr

Fazendo a atualização do indy e modificando as alteraçoes

Link
http://mail.google.com/support/bin/answer.py?answer=13287


smtp.gmail.com (use authentication)
Use Authentication: Yes
Use STARTTLS: Yes (some clients call this SSL)
Port: 465 or 587


não funciona não :D


Responder

Gostei + 0

22/01/2006

O4pr3ndiz

olha... eu fiz como disse instalei o indy 10 e tentei usar o TSL sem sucesso... poderia me enviar um exemplo por email.. pois eu naum consegui aqui... o4pr3ndiz@gmail.com...

Obrigado


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar