Explorar o código

come per opt, aggiunta la gestione della struttura IniStru in modo da
poter inserire parametri sulla riga di comanda sovrapponendosi ai dati
riportati in mail.ini

mauro hai 2 semanas
pai
achega
f628374048
Modificáronse 1 ficheiros con 22 adicións e 3 borrados
  1. 22 3
      mail.go

+ 22 - 3
mail.go

@@ -1,20 +1,25 @@
 package main
 import( 
   "crypto/tls"
+  "strings"
   "gopkg.in/gomail.v2"
   "966.it/ini"
   "966.it/opt"
-  //"gopkg.in/ini.v1"
   "fmt"
   //"os"
 )
 func main() {
 
   //var cfg *ini.File
+  // var struttura optp.IniStru
+
+  struttura := optp.Start()
+  fmt.Println("parametri:",struttura)
+
+  iniFile := struttura.IniFile
 
-  iniFile := optp.Start()
   fmt.Println("parametro passato",iniFile)
-  inip.GetIni(iniFile)
+  inip.GetIni(*iniFile)
   _ = inip.LoadIni()
 
   // sezione di prova per vedere cosa ritorna dal file
@@ -48,6 +53,20 @@ protocol := inip.GetMyKey("mail","protocol").String()
 _subject := inip.GetMyKey("mail","_subject").String()
 _body    := inip.GetMyKey("mail","_text").String()
 
+// sostituisco alcuni valori con quelli passati da iniStru
+if len(*struttura.IniFrom) > 0 {
+	_from = *struttura.IniFrom
+}
+if len(*struttura.IniTo) > 0 {
+	_to = strings.Split(*struttura.IniTo,",")
+}
+if len(*struttura.IniSubject) > 0 {
+	_subject = *struttura.IniSubject
+}
+if len(*struttura.IniBody) > 0 {
+	_body = *struttura.IniBody
+}
+
 for _,tos := range _to {
   m := gomail.NewMessage()
   m.SetHeader("From",_from)