@@ -12,25 +12,21 @@ import (
12
12
)
13
13
14
14
const (
15
- SETTINGS_FILE = "./settings.yml"
16
15
MAIL_CONTENT = "./mail.txt"
17
- ACCOUNT_FILE = "./account.txt"
18
16
RECIPIENTS_FILE = "./recipients.txt"
17
+ SETTINGS_FILE = "./settings.yml"
19
18
)
20
19
21
20
type Settings struct {
22
- From string `yaml:"From"`
23
- Addr string `yaml:"Addr"`
24
- Host string `yaml:"Host"`
25
- Subject string `yaml:"Subject"`
26
- }
27
-
28
- type Account struct {
29
- Username string `yaml:"Username"`
21
+ Addr string `yaml:"Addr"`
22
+ From string `yaml:"From"`
23
+ Host string `yaml:"Host"`
30
24
Password string `yaml:"Password"`
25
+ Subject string `yaml:"Subject"`
26
+ Username string `yaml:"Username"`
31
27
}
32
28
33
- func ReadSettingsFromFile () ( string , string , string , string ) {
29
+ func ReadSettingsFromFile () Settings {
34
30
data , err := ioutil .ReadFile (SETTINGS_FILE )
35
31
if err != nil {
36
32
if os .IsNotExist (err ) {
@@ -47,27 +43,7 @@ func ReadSettingsFromFile() (string, string, string, string) {
47
43
os .Exit (1 )
48
44
}
49
45
50
- return settings .From , settings .Addr , settings .Host , settings .Subject
51
- }
52
-
53
- func ReadAccountFromFile () (string , string ) {
54
- data , err := ioutil .ReadFile (ACCOUNT_FILE )
55
- if err != nil {
56
- if os .IsNotExist (err ) {
57
- fmt .Println ("Account file (" + ACCOUNT_FILE + ") does not exist" )
58
- } else {
59
- fmt .Println ("Cannot open settings file" )
60
- }
61
- os .Exit (1 )
62
- }
63
- account := Account {}
64
- err = yaml .Unmarshal (data , & account )
65
- if err != nil {
66
- fmt .Println ("Your settings file doesn't look right" )
67
- os .Exit (1 )
68
- }
69
-
70
- return account .Username , account .Password
46
+ return settings
71
47
}
72
48
73
49
func ReadRecipientsAddressesFromFile () []string {
@@ -104,16 +80,15 @@ func BuildMessage(from string, to string, subject string, body []byte) []byte {
104
80
}
105
81
106
82
func main () {
107
- from , addr , host , subject := ReadSettingsFromFile ()
108
- user , password := ReadAccountFromFile ()
83
+ settings := ReadSettingsFromFile ()
109
84
recipients := ReadRecipientsAddressesFromFile ()
110
85
111
86
mailContent , _ := ioutil .ReadFile (MAIL_CONTENT )
112
87
113
- auth := smtp .PlainAuth ("" , user , password , host )
88
+ auth := smtp .PlainAuth ("" , settings . Username , settings . Password , settings . Host )
114
89
for _ , to := range recipients {
115
- msg := BuildMessage (from , to , subject , mailContent )
116
- err := smtp .SendMail (addr , auth , from , []string {to }, msg )
90
+ msg := BuildMessage (settings . From , to , settings . Subject , mailContent )
91
+ err := smtp .SendMail (settings . Addr , auth , settings . From , []string {to }, msg )
117
92
if err != nil {
118
93
log .Fatal (err .Error ())
119
94
} else {
0 commit comments