mirror of
https://github.com/wneessen/go-mail.git
synced 2024-11-22 22:00:49 +01:00
34 lines
658 B
Go
34 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 != ""
|
||
|
}
|