Newsgroup: it.comp.lang.delphi
Titolo: d7e - indy 10 e gmail

Ho trovato molte indicazioni su questa cosa ma nessuna che funzioni.
Qualcuno riesce con indy a mandare una mail usando il server SMTP di gmail?
Ovviamente (ma non per tutti) usando un account gmail, sia esso agratis o a pagamento.
Uso queste impostazioni:
 
server: 
smtp.googlemail.com
 
porta: 465
ssl attivo
 
Ho moltI dubbi sulle combinazioni SSL/TLS.
Ne ho provate alcune ma ottengo sempre access denied.
 
A.
 
 
 

 ssl attivo
 
Hai configurato il componente *TIdSSLIOHandlerSocketOpenSSL* associandolo a *TIdSMTP* per consentire il colloquio SSL?
 
Devi scaricare anche le librerie di OpenSSL.
 
Prova a dare un'occhiata a questa pagina che contiene qualche info utile:
http://www.indyproject.org/sockets/SSL.EN.aspx
 
 
Ciao,
  Marco.
 
-- 
MARCO BREVEGLIERI 
#Home: 
http://www.marco.breveglieri.name
 
#Blog: 
http://www.compilaquindiva.net
 

 Devi scaricare anche le librerie di OpenSSL.
 
 
Anche se ho già le 2 solite dll win32 topo libeay23.dll etc ? 
Servono anche dei .pas specifici?
 
A.

 Anche se ho già le 2 solite dll win32 topo libeay23.dll etc ? 
 
Direi che sei a posto. In effetti, "Access denied" lascerebbe suggerire che la connessione avviene e che il tentativo di login ha luogo, anche se l'accesso viene rifiutato.
 
Mi è sorto un dubbio: non è che - come per POP3/IMAP - c'è qualcosa da abilitare nelle impostazioni della casella GMail?


 abilitare nelle impostazioni della casella GMail?
 
 
Verifico. Tnx.
 
A.

  SMTP.Host := '
smtp.gmail.com
';
  SMTP.Port := 587;
  SMTP.Username := '
yyyy...@gmail.com
';
  SMTP.Password := 'xxxxx';
 
  idSSLHandler := TIdSSLIOHandlerSocketOpenSSL.Create;
  idSSLHandler.Destination := SMTP.Host+':'+IntToStr(SMTP.Port);
  idSSLHandler.Host := SMTP.Host;
  idSSLHandler.Port := SMTP.Port;
  idSSLHandler.SSLOptions.Method := utUseExplicitTLS;
  idSSLHandler.SSLOptions.Mode := sslmUnassigned;
  idSSLHandler.SSLOptions.VerifyDepth := 0;
 
  SMTP.IOHandler := idSSLHandler;
  SMTP.UseTLS := sslvTLSv1;
 
a me così funziona (XE3, Indy build 4947, libeay32.dll + ssleay32.dll v.1.0.1c)
 
Davide


Anche con Delphi 2010,Indy build 4819 e libeay32.dll + ssleay32.dll v.1.0.1c mi funziona.
 
Io avevo avuto problemi con le versioni precedenti di Delphi ma sopratutto con gli Indy + dll SSL non aggiornate.

Delphi 2009, indy 
10.5.8.0
:
 
      SMTP.Host := '
smtp.gmail.com
';
      SMTP.Port := 587;
      SMTP.Username := '
chete...@gmail.com
';
      SMTP.Password := 'blablabla';
      idSSLHandler := TIdSSLIOHandlerSocketOpenSSL.Create;
      idSSLHandler.Destination := SMTP.Host+':'+IntToStr(SMTP.Port);
      idSSLHandler.Host := SMTP.Host;
      idSSLHandler.Port := SMTP.Port;
      idSSLHandler.SSLOptions.Method := sslvTLSv1;
      idSSLHandler.SSLOptions.Mode := sslmUnassigned;
      idSSLHandler.SSLOptions.VerifyDepth := 0;
      SMTP.IOHandler := idSSLHandler;
      SMTP.UseTLS := utUseExplicitTLS;
      SMTP.Connect;
 
 
Nel progetto ho messo 6 diversi pulsanti in modo da aver traccia delle combinazioni che ho provato. Nessuna di esse funziona.
Ottengo sempre access denied.
Nota. queste prove le ho fatte su un account normale.
Magari tu hai provato con un account gmail  aziendale?
 
 
 
 
A.
 
 

Sto provando con il mio account personale che non è aziendale. 
 
Anche io avevo fatto quei test provando tutte le combinazioni! L'unica che avevo trovato funzionante era quella: "TLS esplicto" e "TSL v1" sulla porta 587. Non vorrei che il problema sia dovuto alla versione di Delphi o delle librerie TLS/SSL che stai usando.

Era da un pò che non provavo ma sembra che con le ultime versioni di Delphi (+ Indy + SSL) le cose siano migliorate infatti adesso a me funzionano le seguenti combinazioni:
 
- utUseExplicitTLS + (sslvTLSv1, sslvSSLv23, sslvSSLv3)  (non funzia sslvSSLv2)
- utUseRequireTLS + (sslvTLSv1, sslvSSLv23, sslvSSLv3)  (non funzia sslvSSLv2)
 
non funzionano proprio:
- utUseImplicitTLS
- utNoTLSSupport
 
Questo lo sto provando con Delphi XE3 e una delle ultime build degli Indy scaricate via SVN.