From d400379e2f09747484d21b0c2c1be7267a5e5d58 Mon Sep 17 00:00:00 2001 From: Winni Neessen Date: Fri, 20 Sep 2024 10:31:19 +0200 Subject: [PATCH] Refactor error handling for SendError struct Reformat the construction of SendError objects for better readability. This improves the clarity and maintainability of the error handling code within the client.go file. --- client.go | 48 ++++++++++++++++++++++++++++++++---------------- 1 file changed, 32 insertions(+), 16 deletions(-) diff --git a/client.go b/client.go index f8519b4..fac9a34 100644 --- a/client.go +++ b/client.go @@ -798,13 +798,17 @@ func (c *Client) sendSingleMsg(message *Msg) error { } from, err := message.GetSender(false) if err != nil { - return &SendError{Reason: ErrGetSender, errlist: []error{err}, isTemp: isTempError(err), - affectedMsg: message} + return &SendError{ + Reason: ErrGetSender, errlist: []error{err}, isTemp: isTempError(err), + affectedMsg: message, + } } rcpts, err := message.GetRecipients() if err != nil { - return &SendError{Reason: ErrGetRcpts, errlist: []error{err}, isTemp: isTempError(err), - affectedMsg: message} + return &SendError{ + Reason: ErrGetRcpts, errlist: []error{err}, isTemp: isTempError(err), + affectedMsg: message, + } } if c.dsn { @@ -813,8 +817,10 @@ func (c *Client) sendSingleMsg(message *Msg) error { } } if err = c.smtpClient.Mail(from); err != nil { - retError := &SendError{Reason: ErrSMTPMailFrom, errlist: []error{err}, isTemp: isTempError(err), - affectedMsg: message} + retError := &SendError{ + Reason: ErrSMTPMailFrom, errlist: []error{err}, isTemp: isTempError(err), + affectedMsg: message, + } if resetSendErr := c.smtpClient.Reset(); resetSendErr != nil { retError.errlist = append(retError.errlist, resetSendErr) } @@ -843,28 +849,38 @@ func (c *Client) sendSingleMsg(message *Msg) error { } writer, err := c.smtpClient.Data() if err != nil { - return &SendError{Reason: ErrSMTPData, errlist: []error{err}, isTemp: isTempError(err), - affectedMsg: message} + return &SendError{ + Reason: ErrSMTPData, errlist: []error{err}, isTemp: isTempError(err), + affectedMsg: message, + } } _, err = message.WriteTo(writer) if err != nil { - return &SendError{Reason: ErrWriteContent, errlist: []error{err}, isTemp: isTempError(err), - affectedMsg: message} + return &SendError{ + Reason: ErrWriteContent, errlist: []error{err}, isTemp: isTempError(err), + affectedMsg: message, + } } message.isDelivered = true if err = writer.Close(); err != nil { - return &SendError{Reason: ErrSMTPDataClose, errlist: []error{err}, isTemp: isTempError(err), - affectedMsg: message} + return &SendError{ + Reason: ErrSMTPDataClose, errlist: []error{err}, isTemp: isTempError(err), + affectedMsg: message, + } } if err = c.Reset(); err != nil { - return &SendError{Reason: ErrSMTPReset, errlist: []error{err}, isTemp: isTempError(err), - affectedMsg: message} + return &SendError{ + Reason: ErrSMTPReset, errlist: []error{err}, isTemp: isTempError(err), + affectedMsg: message, + } } if err = c.checkConn(); err != nil { - return &SendError{Reason: ErrConnCheck, errlist: []error{err}, isTemp: isTempError(err), - affectedMsg: message} + return &SendError{ + Reason: ErrConnCheck, errlist: []error{err}, isTemp: isTempError(err), + affectedMsg: message, + } } return nil }