Rename variable Names

Makes TO_EMAIL parameter optional
This commit is contained in:
Simon Rieger 2023-11-23 18:38:35 +01:00
parent 1c1af85900
commit 7a8090318c
3 changed files with 15 additions and 20 deletions

View file

@ -22,7 +22,7 @@ Before you begin, ensure you have the following installed:
Create a file named `.env` in your project directory. Fill this file with the required environment variables: Create a file named `.env` in your project directory. Fill this file with the required environment variables:
```env ```env
TO_EMAIL=recipient@example.com TO_EMAIL=recipient@example.com (optional)
NTFY_AUTH=echo "Basic $(echo -n 'testuser:fakepassword' | base64)" NTFY_AUTH=echo "Basic $(echo -n 'testuser:fakepassword' | base64)"
NTFY_HOST=https://ntfy.sh/alerts NTFY_HOST=https://ntfy.sh/alerts
ICS_DIR=/path/to/ics/files ICS_DIR=/path/to/ics/files

View file

@ -1,3 +0,0 @@
#!/bin/sh
echo "0 6 * * * /usr/local/bin/docker-compose -f /opt/containers/mail-reminder/docker-compose.yml up --build --exit-code-from go-app" > /etc/crontabs/root
crond -f -l 8

30
main.go
View file

@ -11,9 +11,9 @@ import (
) )
var ( var (
toAddresses []string TO_EMAIL string
authString string NTFY_AUTH string
hostString string NTFY_HOST string
) )
func main() { func main() {
@ -25,9 +25,9 @@ func main() {
log.Info("Hello World!") log.Info("Hello World!")
// Read environment variables // Read environment variables
toAddresses = strings.Split(os.Getenv("TO_EMAIL"), ",") TO_EMAIL = os.Getenv("TO_EMAIL")
authString = os.Getenv("NTFY_AUTH") NTFY_AUTH = os.Getenv("NTFY_AUTH")
hostString = os.Getenv("NTFY_HOST") NTFY_HOST = os.Getenv("NTFY_HOST")
// Get the current working directory // Get the current working directory
dir, err := os.Getwd() dir, err := os.Getwd()
@ -38,13 +38,13 @@ func main() {
// Read and split multiple folders // Read and split multiple folders
folderList := os.Getenv("ICS_DIR") folderList := os.Getenv("ICS_DIR")
if folderList == "" || len(toAddresses) == 0 || authString == "" || hostString == "" { if folderList == "" || NTFY_AUTH == "" || NTFY_HOST == "" {
log.Fatal("Es fehlen noch einige Parameter!!!\nICS_DIR, TO_EMAIL, NTFY_AUTH, NTFY_HOST") log.Fatal("Es fehlen noch einige Parameter!!!\nICS_DIR, NTFY_AUTH, NTFY_HOST")
} }
folders := strings.Split(folderList, ",") folders := strings.Split(folderList, ",")
for _, folder := range folders { for _, folder := range folders {
log.Infof("folder: %s to: %s password: %s host: %s", folder, toAddresses, authString, hostString) log.Infof("folder: %s to: %s password: %s host: %s", folder, TO_EMAIL, NTFY_AUTH, NTFY_HOST)
listFilesForFolder(folder) listFilesForFolder(folder)
} }
} }
@ -108,9 +108,7 @@ func getNotifications(file string) {
} }
messageText += "\n\n This message is a service from go-ical-ntfy-reminder Version 1.1 written in Golang. \n Delivered by Simon Rieger" messageText += "\n\n This message is a service from go-ical-ntfy-reminder Version 1.1 written in Golang. \n Delivered by Simon Rieger"
for _, toAddress := range toAddresses { sendMessage(messageSubject, messageText)
sendMessage(messageSubject, messageText, toAddress)
}
} }
} }
@ -118,13 +116,13 @@ func truncateToDay(t time.Time, tz *time.Location) time.Time {
return time.Date(t.Year(), t.Month(), t.Day(), 0, 0, 0, 0, tz) return time.Date(t.Year(), t.Month(), t.Day(), 0, 0, 0, 0, tz)
} }
func sendMessage(messageSubject string, messageText string, toAddress string) { func sendMessage(messageSubject string, messageText string) {
req, _ := http.NewRequest("POST", hostString, req, _ := http.NewRequest("POST", NTFY_HOST,
strings.NewReader(messageText)) strings.NewReader(messageText))
req.Header.Set("Title", messageSubject) req.Header.Set("Title", messageSubject)
req.Header.Set("Authorization", "Basic "+authString) req.Header.Set("Authorization", "Basic "+NTFY_AUTH)
req.Header.Set("Email", toAddress) req.Header.Set("Email", TO_EMAIL)
req.Header.Set("Tags", "date,octopus") req.Header.Set("Tags", "date,octopus")
req.Header.Set("Priority", "high") req.Header.Set("Priority", "high")
do, err := http.DefaultClient.Do(req) do, err := http.DefaultClient.Do(req)