Indy 10 TIdSMTP UseTLS property

Posted on 2006-10-26
Medium Priority
Last Modified: 2012-08-13
My question is about SMTP (TIdSMTP component) and TLS.

UseTLS property can have the following values:

After doing many searches I am confused about those values.

This is what I found.
utNoTLSSupport = unsecure connection
utUseImplicitTLS = uses SSL unconditionally from the moment the socket is connected
utUseRequireTLS & utUseExplicitTLS = allow TIdSMTP to query the server for its capabilities after connecting and then enable SSL dynamically only if the server allows it

Use utUseRequireTLS if you do not want to use an unencrypted connection
Use utUseExplicitTLS if you are willing to use an unencrypted connection

I am a little bit lost now...

In Thunderbird you have the options "TLS", "TLS if available" and "SSL". To wich UseTLS properties values these options match?

Please help me!
Question by:mychel_normandeau
  • 3
  • 2

Accepted Solution

real_icecoke earned 1000 total points
ID: 17814774

'SSL' in thunderbird results in a connection to port 465 of the smtp server - doing the business as usual (without TLS)
'TLS if available' is connecting to port 25 and 'ask' for TLS connection if the server is capable.
'TLS' connects to port 25 and disconnects if no TLS is available with this server.

So, to 'translate' this to Indy (afaik).
utUseImplicitTLS -> uses port 465 and SSL connection (no TLS capability of the server needed - could even be done with a tunnel like 'stunnel' under linux).

utUseRequireTLS -> like 'TLS' in thunderbird - (you need a local cert for this afaik - can't remenber how indy 10 solves this - maybe there is something like an event like 'GetCertificate' which is the moment for you to present a client cert for the server.)

utUseExplicitTLS -> like 'TLS if available'.

I stopped using indy 10 because of its instable state for our production applications. Indy 9 is not capable of SSL/TLS so I use 'clever components' for SSL/TLS stuff which is very stable and comfortable to use. And.... no, I have no connection in any way to 'clever components' except that I am a satisfied customer.

All above is written 'from head' so, don't hit me if I did a mistake, but I guess I got it all :)


Author Comment

ID: 17818900
Thanks real_icecoke! Is someone can confirm, both of you will get 250 pts.

Expert Comment

ID: 17820255

I did not meant that I'm not sure about the whole thing I was telling you, I just can't remember the indy 10 stuff especially. But the meaning of explicit/implicit TLS etc. is no invention of Indy. It has to be with the way SMTP is handling TLS and SSL in general. e.g any smtp client with any smtp server.
So what you have to do is to determine on your own, how you can handle the cert stuff etc. with indy 10 if you still want to use it. Please be warned regarding the instability if you use it in a production environment.

And.... btw. 250pts for a confirmation of what I said? hmm, call me picky, but that wouldn't be fair. But anyway, they are your points, you can do what you want with them.

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.


Author Comment

ID: 17820937
Sorry, real_icecoke, I just wanted to attract more people to my question :)

Expert Comment

ID: 17821053
np - as I said. They are your points.

But I guess noone will just confirm or repeat what other community users said before. But if something is unclear from my statement, that just ask for this. This would be a good start for other peoples an me to give more information on this. I would be glad to help if I can.


Expert Comment

ID: 23848257
You can use Synapse Lib. to use SMTP with TLS.

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Have you ever had your Delphi form/application just hanging while waiting for data to load? This is the article to read if you want to learn some things about adding threads for data loading in the background. First, I'll setup a general applica…
Introduction Raise your hands if you were as upset with FireMonkey as I was when I discovered that there was no TListview.  I use TListView in almost all of my applications I've written, and I was not going to compromise by resorting to TStringGrid…
In response to a need for security and privacy, and to continue fostering an environment members can turn to for support, solutions, and education, Experts Exchange has created anonymous question capabilities. This new feature is available to our Pr…
In the video, one can understand the process of resizing images in single or bulk. Kernel Bulk Image Resizer is an easy to use tool for resizing large number of images. One can add and resize multiple images with this tool in single go. The video sh…

624 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question