2
0
forked from drew/smtprelay

Move SMTP auth setup to ConfigLoad()

This has several benefits:
- Configuration errors are caught at startup rather than upon a connection
- mailHandler() has less work to do for each connection

Rather than relying on remote_user and remote_pass to control whether
authentication is used, introduce an explicit "none" type for
remote_auth, and make that the default. (This is effectively the same
default behavior since remote_user and remote_pass default to empty.)

Also, we are in a better position to more thoroughly check for
configuration errors or mismatches:
- If remote_auth is given, remote_user and remote_pass are required.
- If remote_auth is given, remote_host is also required (because it
  makes no sense to say we're going to authenticate if we have no server
  to which to authenticate.)
- If remote_user or remote_pass are given, remote_auth cannot be "none".
This commit is contained in:
Jonathon Reinhart
2021-03-14 14:06:21 -04:00
parent 76ef135d33
commit 22ef0c2ee6
3 changed files with 52 additions and 19 deletions

View File

@@ -73,8 +73,8 @@
;remote_pass =
; Authentication method on outgoing SMTP server
; (plain, login)
;remote_auth = plain
; (none, plain, login)
;remote_auth = none
; Sender e-mail address on outgoing SMTP server
;remote_sender =