(('helo) helo)
(('starttls)
(let-values (((in-port-tls out-port-tls)
- (ssl-start* tcp-in: in-port
- tcp-out: out-port
+ (ssl-start* #t in-port out-port
certificate: (config-certfile config)
private-key: (config-keyfile config)
protocol: (cons 'tlsv12 ssl-max-protocol))))
"250-" (config-host config)
" Hello " (smtp-command-args "ehlo" line))
(smtp-session 'send "250 AUTH PLAIN")
- (smtp-session 'send "250 STARTTLS")
+ (if (tls-supported? config)
+ (smtp-session 'send "250 STARTTLS"))
(loop mmsg received-messages))
((smtp-command? "starttls" line)
(let ((args (smtp-command-args "starttls" line)))
(smtp-session 'send "501 Syntax error (no parameters allowed)")
(begin
(smtp-session 'send "220 Ready to start TLS")
- (smtp-session 'starttls)))))
+ (smtp-session 'starttls))))
+ (loop mmsg received-messages))
((smtp-command? "auth plain" line)
(let* ((auth-string (smtp-command-args "auth plain" line))
(auth-decoded (base64-decode auth-string))