From bd5a8a40b9b7738df74e857f6c598e992f46fd3a Mon Sep 17 00:00:00 2001 From: Winni Neessen Date: Fri, 20 Sep 2024 16:40:12 +0200 Subject: [PATCH] Fix error handling in Send method in client_119.go Refine Send method to correctly typecast and accumulate SendError instances. Introduce "errors" package import to utilize errors.As for precise error type checking, ensuring accurate error lists. This regression was introduced with PR #301 --- client_119.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/client_119.go b/client_119.go index 8084913..7de5d59 100644 --- a/client_119.go +++ b/client_119.go @@ -7,16 +7,22 @@ package mail +import "errors" + // Send sends out the mail message func (c *Client) Send(messages ...*Msg) error { if err := c.checkConn(); err != nil { return &SendError{Reason: ErrConnCheck, errlist: []error{err}, isTemp: isTempError(err)} } var errs []*SendError - for _, message := range messages { + for id, message := range messages { if sendErr := c.sendSingleMsg(message); sendErr != nil { messages[id].sendError = sendErr - errs = append(errs, sendErr) + + var msgSendErr *SendError + if errors.As(sendErr, &msgSendErr) { + errs = append(errs, msgSendErr) + } } }