Push email

This commit is contained in:
2024-10-26 23:01:40 +08:00
parent 7597bff972
commit 478d18d75f
8 changed files with 118 additions and 6 deletions

View File

@@ -39,7 +39,7 @@ func (v *AppleNotifyProvider) Push(in pushkit.Notification, tk string) error {
Topic: viper.GetString(v.topic),
Payload: rawData,
}
_, err := v.conn.Push(payload)
_, err = v.conn.Push(payload)
return err
}

View File

@@ -0,0 +1,36 @@
package provider
import (
"crypto/tls"
"fmt"
"git.solsynth.dev/hypernet/pusher/pkg/pushkit"
"github.com/jordan-wright/email"
"github.com/spf13/viper"
"net/smtp"
"net/textproto"
)
func SendMail(target string, in pushkit.EmailData) error {
mail := &email.Email{
To: []string{target},
From: viper.GetString("mailer.name"),
Subject: in.Subject,
Headers: textproto.MIMEHeader{},
}
if in.Text != nil {
mail.Text = []byte(*in.Text)
}
if in.HTML != nil {
mail.HTML = []byte(*in.HTML)
}
return mail.SendWithTLS(
fmt.Sprintf("%s:%d", viper.GetString("mailer.smtp_host"), viper.GetInt("mailer.smtp_port")),
smtp.PlainAuth(
"",
viper.GetString("mailer.username"),
viper.GetString("mailer.password"),
viper.GetString("mailer.smtp_host"),
),
&tls.Config{ServerName: viper.GetString("mailer.smtp_host")},
)
}