Ir para conteúdo
Fórum Script Brasil
  • 0

Dúvidas Com Indy Usando Ssl


will_fire

Pergunta

E ae galera beleza, Sou novato por aqui.. laugh.gif

pessoal estou desenvolvendo uma aplicação para uso meu..

É um cliente de email usando o componente INDY 9 no delphi 7..

e o que eu preciso é saber como pegar o anexo das mensagens...

porem preciso usar o gmail,yahoo q são servidores de email com grande capacidade de armazenamento...

o gmail usa as seguintes configurações

Servidor de e-mail de entrada (POP3) - requer SSL: pop.gmail.com

Utilizar SSL: Sim

Porta: 995

Servidor de e-mail de saída (SMTP) - requer TLS: smtp.gmail.com (utilizar autenticação)

Utilizar autenticação: Sim

Utilizar STARTTLS: Sim (alguns clientes o chamam de SSL)

Porta: 465 ou 587

Nome da conta: seu nome de usuário do Gmail (incluindo '@gmail.com')

Endereço de e-mail: seu endereço de e-mail completo do Gmail (username@gmail.com)

Senha: sua senha do Gmail

Dai galera eu precisa me logar no servidor do gmail ver as mensagens e baixar os anexos da mesmas. blink.gif

Complicado tongue.gif

Será que alguém pode me ajudar nessa aventura

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0
Guest carolcalabria

oi,

eu utilizei o pop.gmail.com e o smtp.gmail.com para tornar o meu e-mail gmail em meu e-mail padrão no outlook express só que não está concluindo, quando ele está sincronizando fica pedindo o nome do usuário e a senha dele. algo está errado? o que é que falta?

muito obrigada a quem respoder?

Link para o comentário
Compartilhar em outros sites

  • 0

Ola everton seguinte pra fazer o componente funcionar no gmail primeiramente tu prescisa ter

as dlls de cryptografia libeay32.dll e ssleay32.dll, jogue as no system32 de preferencia.

depois tu prescisa configurar as propiedades do objeto TIdSMTP

coloque um objeto TIdSSLIOHandlerSocket no formulario e seta a propiedade

IOHandler do TIdSMTP para o objeto TIdSSLIOHandlerSocket

depois setar a propiedade SSLOptions como sslmClient

configure a porta smtp para 467 .

feitu isto voce esta pronto pra enviar emails usando uma caixa do gmail

lembre que o usuario tem que ser com u @ e tudo tipus zeninguem@gmail.com;

na mão ficaria assim:

IdSMTP1 .IOHandler := IdSSLIOHandlerSocket1;

IdSMTP1.SSLOptions.Mode := sslmClient;

Link para o comentário
Compartilhar em outros sites

  • 0

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 há 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

Link para o comentário
Compartilhar em outros sites

  • 0

Estou usando o Indy que já vem instalado no Delphi, mas não estou conseguindo conectar. Alguém pode me ajudar?

try

Label7.Caption:='Conectando.';

Label7.Update;

if IdPOP31.Connected then

begin

IdPOP31.Disconnect;

end;

IdPOP31.Host := 'pop.gmail.com';

IdPOP31.Port := 995;

IdPOP31.Username := 'teste@gmail.com';

IdPOP31.Password := 'Senha';

IdSSLIOHandlerSocket1.SSLOptions.Method:=sslvSSLv2;

IdSSLIOHandlerSocket1.SSLOptions.Mode:=sslmClient;

IdPOP31.Connect(0);

Label7.Caption:='Conectado.';

Label7.Update;

except

On E:Exception do

Begin

Label8.:='Erro : '+E.Message;

Label7.Caption:='Problema ao conectar.';

Label7.Update;

End;

Erro: Erro : Could not load SSL library.

Baixei o arquivo openssl-0.9.8e-i386-win32 do site indyproject e também baixei a versão indy_openssl096.zip, copiei as dll para o diretório system32 e dechei uma copia na pasta do projeto, mas infelizmente não funcionou.

Estou usando o Indy que já vem instalado no Delphi, mas não estou conseguindo conectar. Alguém pode me ajudar?

try

Label7.Caption:='Conectando.';

Label7.Update;

if IdPOP31.Connected then

begin

IdPOP31.Disconnect;

end;

IdPOP31.Host := 'pop.gmail.com';

IdPOP31.Port := 995;

IdPOP31.Username := 'teste@gmail.com';

IdPOP31.Password := 'Senha';

IdSSLIOHandlerSocket1.SSLOptions.Method:=sslvSSLv2;

IdSSLIOHandlerSocket1.SSLOptions.Mode:=sslmClient;

IdPOP31.Connect(0);

Label7.Caption:='Conectado.';

Label7.Update;

except

On E:Exception do

Begin

Label8.:='Erro : '+E.Message;

Label7.Caption:='Problema ao conectar.';

Label7.Update;

End;

Erro: Erro : Could not load SSL library.

Baixei o arquivo openssl-0.9.8e-i386-win32 do site indyproject e também baixei a versão indy_openssl096.zip, copiei as dll para o diretório system32 e dechei uma copia na pasta do projeto, mas infelizmente não funcionou.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...