tools/email-tester/senders/toClient.go

57 lines
1.1 KiB
Go

package senders
import (
"encoding/json"
"io/ioutil"
"penahub.gitlab.yandexcloud.net/pena-services/email-tester/client"
"penahub.gitlab.yandexcloud.net/pena-services/email-tester/model"
)
func ToClientTesting(config model.Config) error {
smtpClient := client.NewSmtpClient(client.Deps{
SmtpApiUrl: config.ApiURL,
SmtpSender: config.Sender,
ApiKey: config.ApiKey,
})
templateData, err := parseTemplateData(config.PathToTemplateData)
if err != nil {
return err
}
body, err := loadTemplate(config.PathToToClientTemplate)
if err != nil {
return err
}
err = smtpClient.SendMailWithAttachment(config.To, config.Subject, body, templateData, nil)
if err != nil {
return err
}
return nil
}
func parseTemplateData(filePath string) (client.TemplateData, error) {
var data client.TemplateData
file, err := ioutil.ReadFile(filePath)
if err != nil {
return data, err
}
err = json.Unmarshal(file, &data)
if err != nil {
return data, err
}
return data, nil
}
func loadTemplate(filePath string) (string, error) {
fileContent, err := ioutil.ReadFile(filePath)
if err != nil {
return "", err
}
return string(fileContent), nil
}