diff --git a/config.json b/config.json index a3fc58f..d88812c 100644 --- a/config.json +++ b/config.json @@ -10,8 +10,8 @@ }, "Emailer": { "From": "breellocaldev@gmail.com", - "POP3": "pop.gmail.com:995", + "noIMAP": "imap.gmail.com:993", "Password": "gojfkkfrkmtxzyro", - "Limit": 1 + "Limit": 10 } } diff --git a/config/config.go b/config/config.go index 5ac7230..9414800 100644 --- a/config/config.go +++ b/config/config.go @@ -28,12 +28,16 @@ type Config struct { var live Config -func Refresh() error { - configPath, ok := os.LookupEnv("CONFIG") +func configPath() string { + p, ok := os.LookupEnv("CONFIG") if !ok { - configPath = "./config.json" + p = "./config.json" } - b, err := ioutil.ReadFile(configPath) + return p +} + +func Refresh() error { + b, err := ioutil.ReadFile(configPath()) if err != nil { return err } @@ -52,6 +56,15 @@ func Get() *Config { return &live } +func Set(other Config) { + b, err := json.Marshal(other) + if err != nil { + return + } + ioutil.WriteFile(configPath(), b, os.ModePerm) + Refresh() +} + func (c *Config) DB() storage.DB { if c.db == nil { c.lock.Lock() diff --git a/main.go b/main.go index 16ed5ae..79946e8 100644 --- a/main.go +++ b/main.go @@ -1,6 +1,7 @@ package main import ( + "errors" "local/storage" "local/truckstop/broker" "local/truckstop/config" @@ -9,11 +10,31 @@ import ( ) func main() { + go func() { + email() + c := time.NewTicker(time.Minute) + for range c.C { + if err := email(); err != nil { + log.Print(err) + } + } + }() if err := _main(); err != nil { panic(err) } } +func email() error { + ch, err := config.Get().Emailer.ReadIMAP() + if err != nil { + return err + } + for email := range ch { + log.Printf("%+v", email) + } + return errors.New("not impl") +} + func _main() error { for { if err := config.Refresh(); err != nil {