go-mail/file.go

33 lines
658 B
Go

package mail
import (
"io"
"net/textproto"
)
// FileOption returns a function that can be used for grouping File options
type FileOption func(*File)
// File is an attachment or embedded file of the Msg
type File struct {
Name string
Header textproto.MIMEHeader
Writer func(w io.Writer) error
}
// WithFileName sets the filename of the File
func WithFileName(n string) FileOption {
return func(f *File) {
f.Name = n
}
}
// setHeader sets header fields to a File
func (f *File) setHeader(h Header, v string) {
f.Header.Set(string(h), v)
}
func (f *File) getHeader(h Header) (string, bool) {
v := f.Header.Get(string(h))
return v, v != ""
}