MCPcopy Create free account
hub / github.com/TheThingsNetwork/lorawan-stack / Send

Method Send

pkg/email/dir/dir.go:65–88  ·  view source on GitHub ↗

Send implements email.Sender.

(message *email.Message)

Source from the content-addressed store, hash-verified

63
64// Send implements email.Sender.
65func (md *MailDir) Send(message *email.Message) (err error) {
66 m := gomail.NewMessage(md.messageSettings...)
67 m.SetAddressHeader("From", md.emailConfig.SenderAddress, md.emailConfig.SenderName)
68 m.SetAddressHeader("To", message.RecipientAddress, message.RecipientName)
69 m.SetHeader("Subject", message.Subject)
70 if message.TextBody != "" {
71 m.AddAlternative("text/plain", message.TextBody)
72 }
73 if message.HTMLBody != "" {
74 m.AddAlternative("text/html", message.HTMLBody)
75 }
76 f, err := os.OpenFile(
77 filepath.Join(md.dir, fmt.Sprintf("%s.eml", md.ulid().String())),
78 os.O_WRONLY|os.O_CREATE|os.O_EXCL,
79 0o644,
80 )
81 defer func() {
82 if closeErr := f.Close(); err == nil {
83 err = closeErr
84 }
85 }()
86 _, err = m.WriteTo(f)
87 return err
88}

Callers

nothing calls this directly

Calls 5

ulidMethod · 0.95
JoinMethod · 0.65
StringMethod · 0.65
CloseMethod · 0.65
SetHeaderMethod · 0.45

Tested by

no test coverage detected