1
0
Fork 0

Add interactive flag

Dieser Commit ist enthalten in:
Blallo 2020-05-05 10:20:29 +02:00
Ursprung e310c168f4
Commit 079214702a
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: 0CBE577C9B72DC3F

20
main.go
Datei anzeigen

@ -70,7 +70,7 @@ func initializeConfig(configPath, section string) *Config {
func main() {
var err error
var configPath, section, serverAddress, user, password, to, cc, bcc, from, subject, text string
var encryption, dbg, versionFlag bool
var encryption, dbg, versionFlag, interactive bool
var serverPortAux int
var serverPort int64
@ -78,6 +78,7 @@ func main() {
flag.StringVar(&configPath, "conf", "", "Path to a config file (defaults to /etc/sendmail.toml)")
flag.StringVar(&section, "section", "default", "Section of the conf to read (defaults to \"default\")")
flag.BoolVar(&dbg, "dbg", false, "Enable debugging output")
flag.BoolVar(&interactive, "interactive", false, "Assume composing mail manually, do not timeout waiting input")
flag.StringVar(&serverAddress, "server-address", "", "The SMTP server address")
flag.IntVar(&serverPortAux, "server-port", 0, "The SMTP server")
flag.BoolVar(&encryption, "force-ssl", false, "Force the use of ssl (defalut: false)")
@ -104,14 +105,17 @@ func main() {
if flag.NArg() == 0 {
result := make(chan string, 1)
go readFromConsole(result)
select {
case text = <-result:
Info.Ln("text read from console")
case <-time.After(5 * time.Minute):
Error.Ln("timeout reading from console")
os.Exit(3)
if interactive {
text = <-result
} else {
select {
case text = <-result:
Info.Ln("text read from console")
case <-time.After(5 * time.Second):
Error.Ln("timeout reading from console")
os.Exit(3)
}
}
} else {
for _, arg := range flag.Args() {
text += fmt.Sprintf("%s\n", arg)