Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
which .dll
#1
I'm working on an old project in Delphi 7 using Indy 10.1.5.
 
At the moment I'm unable to upgrade Indy for this project or port it to a newer version of Delphi.
 
I'm trying to send an email via Gmail and keep running into SSL errors, usually just an emty string.
 
I'm convinced it's a .ddl version issue - I've tried various versions of the ssl .dll's with no luck.
 
So in an effort to save time, I'm curious if anyone knows exactly which version of the .dll files works with Indy 10.1.5 using Delphi 7.
 
Thanks in advance for any help.
 
 
drc  Smile
Reply
#2
(08-11-2020, 02:50 PM)dragonstar Wrote: I'm working on an old project in Delphi 7 using Indy 10.1.5.

10.1.5 is an EXTREMELY old version of Indy.  The current version is 10.6.2.  You really need to upgrade.

(08-11-2020, 02:50 PM)dragonstar Wrote: At the moment I'm unable to upgrade Indy for this project or port it to a newer version of Delphi.

Why not?  The latest Indy 10 version still supports Delphi 7.
 
(08-11-2020, 02:50 PM)dragonstar Wrote: I'm trying to send an email via Gmail and keep running into SSL errors, usually just an emty string.

Unless you disable all security on the Gmail account (which you should not do, obviously), then I seriously doubt you are going to be able to accomplish this task using such an outdated version of Indy.  It just doesn't have the API support needed to handle modern SSL/TLS requirements.
 
(08-11-2020, 02:50 PM)dragonstar Wrote: I'm convinced it's a .ddl version issue - I've tried various versions of the ssl .dll's with no luck.

It is not just a DLL issue.  There are API issues involved, too.  For instance, making use of the SNI extension in TLS 1.2, which many modern servers now require.  But even so, versions of Indy THAT old simply can't handle up-to-date OpenSSL DLLs.
 
(08-11-2020, 02:50 PM)dragonstar Wrote: So in an effort to save time, I'm curious if anyone knows exactly which version of the .dll files works with Indy 10.1.5 using Delphi 7.

I don't know what version(s) of OpenSSL were targeted by Indy 10.1.5, but certainly not any modern version.  Even if you could find a specific DLL version that works with that old version of Indy, it will certainly be too old to communicate with modern servers.

You NEED to upgrade to the latest Indy 10.6.2 to use up-to-date('ish!) OpenSSL DLLs with it properly.

I say 'ish', because Indy "officially" supports only up to OpenSSL 1.0.2, which has recently reached end-of-support by the OpenSSL team.  However, Indy "unofficially" supports OpenSSL 1.1.x via a pending pull request that has not been merged into the main codebase yet.

Reply
#3
I'm ready to do the upgrade but I'm having trouble finding a clean simple link to download the .zip of version 10.6.2

Can someone please provide the link to the correct download page containing the 10.6.2 download link?

Thanks!


drc Smile

Is it the indy-master.zip from https://github.com/graemeg/indy that I need?


drc Smile
Reply
#4
(09-03-2020, 01:45 PM)dragonstar Wrote: I'm ready to do the upgrade but I'm having trouble finding a clean simple link to download the .zip of version 10.6.2

When Indy moved its source code from SVN to GitHub, the nightly .zip downloads hosted on Fulgan were shutdown. You can download a .zip from Indy's GitHub repository instead.

(09-03-2020, 01:45 PM)dragonstar Wrote: Is it the indy-master.zip from https://github.com/graemeg/indy that I need?

I see no such file in that repo, but in any case that is an "unofficial" 3rd party mirror, and it doesn't look like it is up-to-update (despite its claim that it "gets synced every 15 minutes", it does not appear to have been updated for almost a year).

Reply
#5
So the indy-master.zip from https://github.com/IndySockets/Indy/ using the green Get Code over towards the right side of the screen?


drc Smile
Reply
#6
(09-03-2020, 04:42 PM)dragonstar Wrote: So the indy-master.zip from https://github.com/IndySockets/Indy/ using the green Get Code over towards the right side of the screen?

Yes.

Reply
#7
Okay I'm now rocking Indy 10.6.2 and using the open ssl .dlls version 1.0.2.u

I've tried both ports 465 and 587 with all combinations of SSL off/on and TLS set to None, Explicit, Implicit and Required.

None of it works - I get a mix of "connection closed gracefully", "must issue a START TLS command", "username/password not accepted", and one or two other errors.

What am I missing? Is the open ssl .dll version wrong?

drc Smile

Got it!

Did some digging and found a tip about setting gmail to allow less secure apps to have access and it's working with SSL on and TLS set to Explicit.

Woo hoo! Big Grin


drc Smile
Reply
#8
(10-01-2020, 01:04 PM)dragonstar Wrote: I've tried both ports 465 and 587 with all combinations of SSL off/on and TLS set to None, Explicit, Implicit and Required.

You need to set UseTLS=utUseExplicitTLS when using port 25 or 587, and set UseTLS=utUseImplicitTLS when using port 465. Don't use utRequireTLS on the client side, that is meant for use in servers.

(10-01-2020, 01:04 PM)dragonstar Wrote: Is the open ssl .dll version wrong?

No.

(10-01-2020, 01:04 PM)dragonstar Wrote: Did some digging and found a tip about setting gmail to allow less secure apps to have access and it's working with SSL on and TLS set to Explicit.

You don't need to lower the security like that.  If you have 2-Step Verification enabled on your GMail account, you can instead generate an App-Specific Password for Indy to use.  That works just fine.

Reply
#9
It's the clients Gmail account and several people use it so there's not any single phone the extra verification code can be sent to so I doubt they'll be interested in turning that on.

drc Smile
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)