refactor common pattern of close & remove temporary file into calling the new store.CloseRemoveTempFile

This commit is contained in:
Mechiel Lukkien
2023-11-01 18:57:38 +01:00
parent b6897d1837
commit ef50f4abf0
11 changed files with 15 additions and 81 deletions

View File

@ -1532,13 +1532,7 @@ func (c *conn) cmdData(p *parser) {
if err != nil {
xsmtpServerErrorf(errCodes(smtp.C451LocalErr, smtp.SeSys3Other0, err), "creating temporary file for message: %s", err)
}
defer func() {
name := dataFile.Name()
err := dataFile.Close()
c.log.Check(err, "removing temporary message file")
err = os.Remove(name)
c.log.Check(err, "removing temporary message file", mlog.Field("path", name))
}()
defer store.CloseRemoveTempFile(c.log, dataFile, "smtpserver delivered message")
msgWriter := message.NewWriter(dataFile)
dr := smtp.NewDataReader(c.r)
n, err := io.Copy(&limitWriter{maxSize: c.maxMessageSize, w: msgWriter}, dr)