浏览代码

aggiunta gestione riga di comando

Mauro 2 月之前
父节点
当前提交
07a973eba2
共有 3 个文件被更改,包括 37 次插入28 次删除
  1. 3 0
      go.mod
  2. 28 23
      mail.go
  3. 6 5
      mail.ini

+ 3 - 0
go.mod

@@ -8,6 +8,7 @@ require (
 )
 
 require (
+	966.it/opt v0.0.0-00010101000000-000000000000 // indirect
 	github.com/davecgh/go-spew v1.1.1 // indirect
 	github.com/pmezard/go-difflib v1.0.0 // indirect
 	gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect
@@ -16,3 +17,5 @@ require (
 )
 
 replace 966.it/ini => ../ini
+
+replace 966.it/opt => ../opt

+ 28 - 23
mail.go

@@ -3,6 +3,7 @@ import(
   //"crypto/tls"
   "gopkg.in/gomail.v2"
   "966.it/ini"
+  "966.it/opt"
   "gopkg.in/ini.v1"
   "fmt"
   "os"
@@ -13,26 +14,24 @@ func main() {
   var mymail *ini.Section
   var err error
 
-  fmt.Println(len(os.Args))
-  if len(os.Args) > 1 && len(os.Args) < 4 {
-    fmt.Println("parametro passato",os.Args[1])
-    inip.GetIni(os.Args[1])
-    cfg = inip.LoadIni()
+  iniFile := optp.Start()
+  fmt.Println("parametro passato",iniFile)
+  inip.GetIni(iniFile)
+  cfg = inip.LoadIni()
 
-    // sezione di prova per vedere cosa ritorna dal file
-    fmt.Println(inip.GetMySection())   
+  // sezione di prova per vedere cosa ritorna dal file
+  fmt.Println(inip.GetMySection())   
 
-    mymail,err = cfg.GetSection("mail")
-    if err != nil {
-      fmt.Println("Errore nella lettura della sezione")
-      fmt.Println(err) 
-      os.Exit(99)
-    }
+  mymail,err = cfg.GetSection("mail")
+  if err != nil {
+    fmt.Println("Errore nella lettura della sezione")
+    fmt.Println(err) 
+    os.Exit(99)
   }
 
-  keys := mymail.KeyStrings()
+keys := mymail.KeyStrings()
 
-  for _,x := range keys {
+for _,x := range keys {
     fmt.Println(x)
   }
 
@@ -40,25 +39,31 @@ func main() {
 // che sia in grado di scorrere l'elenco delle chiavi e nel caso ne trovi una
 // che corrisponde, assegnarla alla relativa variabile
 
-var _from string = "acliservice@altemica.local"
-var _to string = "server@altemica.net"
-var _subject string ="Acliserver in avvio..."
-var _body string ="Acliserver in avvio..."
-
+server :=  inip.GetMyKey("mail","server").String()
+porta,_ := inip.GetMyKey("mail","porta").Int()
+username := inip.GetMyKey("mail","username").String()
+password := inip.GetMyKey("mail","password").String()
+_from := inip.GetMyKey("mail","_from").String()
+_to := inip.GetMyKey("mail","_to").Strings(",")
 
+_subject := inip.GetMyKey("mail","_subject").String()
+_body    := inip.GetMyKey("mail","_text").String()
 
+for _,tos := range _to {
   m := gomail.NewMessage()
   m.SetHeader("From",_from)
-  m.SetHeader("To",_to)
+  m.SetHeader("To",tos)
   m.SetHeader("Subject",_subject)
   m.SetBody("Text/Text",_body)
 
-  d := gomail.NewDialer("localhost",465,"acliservice@altemica.local","uei551hex")
+  d := gomail.NewDialer(server,porta,username,password)
   d.SSL=true
+
   //d.TLSConfig = &tls.Config{InsecureSkipVerify: true}
 
   // Send the email to Bob, Cora and Dan.
   if err := d.DialAndSend(m); err != nil {
-	panic(err)
+    panic(err)
   }
 }
+}

+ 6 - 5
mail.ini

@@ -1,12 +1,13 @@
 [mail]
 server= mail.altemica.net
-port=465
-auth=
+porta=465
+auth= 1
 protocol =ssl
 username = acliservice@altemica.local
 password = uei551hex
-_to = server@altemica.net, admin@altemica.net
-_subject = 
-_text = 
+_from = test@altemica.net
+_to = server@altemica.net, mauro@altemica.com
+_subject = Sperem
+_text = Sperem Body