mirror of
https://github.com/wneessen/go-mail.git
synced 2024-11-22 13:50:49 +01:00
Check if Attachments/Embeds can be read. If an error occurs don't add them to the mail parts
This commit is contained in:
parent
f8ba9ac9c8
commit
ce1c37bd16
1 changed files with 25 additions and 4 deletions
29
msg.go
29
msg.go
|
@ -415,22 +415,38 @@ func (m *Msg) AddAlternativeWriter(ct ContentType, w func(io.Writer) error, o ..
|
||||||
|
|
||||||
// AttachFile adds an attachment File to the Msg
|
// AttachFile adds an attachment File to the Msg
|
||||||
func (m *Msg) AttachFile(n string, o ...FileOption) {
|
func (m *Msg) AttachFile(n string, o ...FileOption) {
|
||||||
m.attachments = m.appendFile(m.attachments, fileFromFS(n), o...)
|
f := fileFromFS(n)
|
||||||
|
if f == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
m.attachments = m.appendFile(m.attachments, f, o...)
|
||||||
}
|
}
|
||||||
|
|
||||||
// AttachReader adds an attachment File via io.Reader to the Msg
|
// AttachReader adds an attachment File via io.Reader to the Msg
|
||||||
func (m *Msg) AttachReader(n string, r io.Reader, o ...FileOption) {
|
func (m *Msg) AttachReader(n string, r io.Reader, o ...FileOption) {
|
||||||
m.attachments = m.appendFile(m.attachments, fileFromReader(n, r), o...)
|
f := fileFromReader(n, r)
|
||||||
|
if f == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
m.attachments = m.appendFile(m.attachments, f, o...)
|
||||||
}
|
}
|
||||||
|
|
||||||
// EmbedFile adds an embedded File to the Msg
|
// EmbedFile adds an embedded File to the Msg
|
||||||
func (m *Msg) EmbedFile(n string, o ...FileOption) {
|
func (m *Msg) EmbedFile(n string, o ...FileOption) {
|
||||||
m.embeds = m.appendFile(m.embeds, fileFromFS(n), o...)
|
f := fileFromFS(n)
|
||||||
|
if f == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
m.embeds = m.appendFile(m.embeds, f, o...)
|
||||||
}
|
}
|
||||||
|
|
||||||
// EmbedReader adds an embedded File from an io.Reader to the Msg
|
// EmbedReader adds an embedded File from an io.Reader to the Msg
|
||||||
func (m *Msg) EmbedReader(n string, r io.Reader, o ...FileOption) {
|
func (m *Msg) EmbedReader(n string, r io.Reader, o ...FileOption) {
|
||||||
m.embeds = m.appendFile(m.embeds, fileFromReader(n, r), o...)
|
f := fileFromReader(n, r)
|
||||||
|
if f == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
m.embeds = m.appendFile(m.embeds, f, o...)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Reset resets all headers, body parts and attachments/embeds of the Msg
|
// Reset resets all headers, body parts and attachments/embeds of the Msg
|
||||||
|
@ -570,6 +586,11 @@ func (m *Msg) setEncoder() {
|
||||||
|
|
||||||
// fileFromFS returns a File pointer from a given file in the system's file system
|
// fileFromFS returns a File pointer from a given file in the system's file system
|
||||||
func fileFromFS(n string) *File {
|
func fileFromFS(n string) *File {
|
||||||
|
_, err := os.Stat(n)
|
||||||
|
if err != nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
return &File{
|
return &File{
|
||||||
Name: filepath.Base(n),
|
Name: filepath.Base(n),
|
||||||
Header: make(map[string][]string),
|
Header: make(map[string][]string),
|
||||||
|
|
Loading…
Reference in a new issue