diff --git a/main.go b/main.go index d4b8025..c37f4c5 100644 --- a/main.go +++ b/main.go @@ -284,6 +284,13 @@ func blastMail(cfg *Config, logFile string, trackingFile string, audience []stri } } + existingReaderCount := len(sentToAddresses) + newReaderCount := 0 + + if existingReaderCount > 0 { + fmt.Println("Same email file specified: Sending only to new subscribers...") + } + var group []string for _, a := range audience { if a == "" { @@ -309,6 +316,7 @@ func blastMail(cfg *Config, logFile string, trackingFile string, audience []stri for i, res := range results { log.WriteString(fmt.Sprintf("%s: %s\n", group[i], res.Message)) } + newReaderCount += len(group) group = group[0:0] } } @@ -324,7 +332,17 @@ func blastMail(cfg *Config, logFile string, trackingFile string, audience []stri for i, res := range results { log.WriteString(fmt.Sprintf("%s: %s\n", group[i], res.Message)) } + newReaderCount += len(group) } + + if newReaderCount > 0 { + newSubscribers := existingReaderCount > 0 + if newSubscribers { + fmt.Printf("Sent to %d new subscribers!\n", newReaderCount) + } + } else { + fmt.Printf("Not sent (no new subscribers)\n") + } } var postmarkClient = http.Client{}