Question: how/who starts STARTTLS?
STARTTLS is a command sent during the SMTP conversation (as defined in RFC 3207) to upgrade an existing plain text connection (typically on port 25) to a TLS-encrypted connection. It is not a command you execute at the command line like “HELO” or “RCPT”, but rather a message that the mail client sends to the server during the SMTP handshake.
When i try to understand what you did, a few more things make me wonder:
make command with path to /usr/local/ns/bin
It’s not entirely clear what you mean by this. The recommended method to install NaviServer modules is to use the “install‑ns” script and specify the desired module in the “ns_modules” list, as described in the Install OpenACS with NaviServer from Scratch instructions.
smtpdport ""
Probably, you refer here to the standard NaviServer configuration file. If you look into this file, you will see:
ns_section ns/server/${server}/modules {
if {$smtpdport ne ""} {ns_param nssmtpd nssmtpd}
}
This means that the nssmtpd module is loaded only if the variable “smtpdport” is not empty. A common configuration sets “smtpdport” to “2525", either via command line when starting the server, or by altering the default value in the file.
Without specifying smtpdport in this setup, you are not using the nssmtpd module at all.
If it is really necessary to debug the setup, activate the log severity "Debug(smtpd)" [2]. You can do this via GUI from nsstats via "Logging->Log Levels".
Hope, this helps.
-g
[1] https://datatracker.ietf.org/doc/html/rfc3207
[2] https://openacs.org/forums/message-view?message_id=5704005