Installer: mail-gateway configure downstream smtp server addresses
diff --git a/apps/maddy/auth/main.go b/apps/maddy/auth/main.go
index ab71fdb..6454eb4 100644
--- a/apps/maddy/auth/main.go
+++ b/apps/maddy/auth/main.go
@@ -3,6 +3,7 @@
 import (
 	"bufio"
 	"crypto/tls"
+	"flag"
 	"fmt"
 	"os"
 
@@ -10,9 +11,23 @@
 	"github.com/emersion/go-smtp"
 )
 
-var smtpServers = []string{
-	"maddy.app-maddy.svc.cluster.local:587",
-	"maddy.shveli-app-maddy.svc.cluster.local:587",
+var config = flag.String("config", "/etc/maddy/config/smtp-servers.conf", "Path to the configuration file with downstream SMTP server addresses per line.")
+
+func readConfig(path string) ([]string, error) {
+	inp, err := os.Open(path)
+	if err != nil {
+		return nil, err
+	}
+	defer inp.Close()
+	lines := bufio.NewScanner(inp)
+	ret := make([]string, 0)
+	for lines.Scan() {
+		ret = append(ret, lines.Text())
+	}
+	if err := lines.Err(); err != nil {
+		return nil, err
+	}
+	return ret, nil
 }
 
 func auth(server, username, password string) (bool, error) {
@@ -30,6 +45,7 @@
 }
 
 func main() {
+	flag.Parse()
 	inp := bufio.NewReader(os.Stdin)
 	username, err := inp.ReadString('\n')
 	if err != nil {
@@ -43,6 +59,11 @@
 		os.Exit(2)
 	}
 	password = password[:len(password)-1]
+	smtpServers, err := readConfig(*config)
+	if err != nil {
+		fmt.Println(err.Error())
+		os.Exit(2)
+	}
 	for _, s := range smtpServers {
 		if ok, _ := auth(s, username, password); ok {
 			os.Exit(0)