-that order if the server supports them. The second variable,
-@code{smtpmail-starttls-credentials}, instructs the SMTP library to
-connect to the server using STARTTLS. This means the protocol
-exchange can be integrity protected and confidential by using TLS, and
-optionally also authentication of the client. It is common to use
-both these mechanisms, e.g., to use STARTTLS to achieve integrity and
-confidentiality and then use SASL for client authentication.
+that order if the server support both.
+
+The second variable, @code{smtpmail-starttls-credentials}, instructs
+the SMTP library to connect to the server using STARTTLS. This means
+the protocol exchange may be integrity protected and confidential by
+using TLS, and optionally also authentication of the client. This
+feature uses the elisp package @file{starttls.el} (see it for more
+information on customization), which in turn require that at least one
+of the following external tools are installed:
+
+@enumerate
+@item
+The GNUTLS command line tool @samp{gnutls-cli}, you can get it from
+@url{http://www.gnu.org/software/gnutls/}. This is the recommended
+tool, mainly because it can verify the server certificates.
+
+@item
+The @samp{starttls} external program, you can get it from
+@file{starttls-*.tar.gz} from @uref{ftp://ftp.opaopa.org/pub/elisp/}.
+@end enumerate
+
+It is not uncommon to use both these mechanisms, e.g., to use STARTTLS
+to achieve integrity and confidentiality and then use SASL for client
+authentication.