diff --git a/CHANGELOG.md b/CHANGELOG.md index 49346ec..877aebf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ Notable changes to Mailpit will be documented in this file. +## [v1.6.2] + +### Bugfix +- If set use return-path address as SMTP from address + + ## [v1.6.1] ### Bugfix diff --git a/server/apiv1/api.go b/server/apiv1/api.go index 0b718e2..c067667 100644 --- a/server/apiv1/api.go +++ b/server/apiv1/api.go @@ -586,13 +586,18 @@ func ReleaseMessage(w http.ResponseWriter, r *http.Request) { return } - if config.SMTPRelayConfig.ReturnPath != "" && m.Header.Get("Return-Path") != "<"+config.SMTPRelayConfig.ReturnPath+">" { - msg, err = tools.RemoveMessageHeaders(msg, []string{"Return-Path"}) - if err != nil { - httpError(w, err.Error()) - return + // set the Return-Path and SMTP mfrom + if config.SMTPRelayConfig.ReturnPath != "" { + if m.Header.Get("Return-Path") != "<"+config.SMTPRelayConfig.ReturnPath+">" { + msg, err = tools.RemoveMessageHeaders(msg, []string{"Return-Path"}) + if err != nil { + httpError(w, err.Error()) + return + } + msg = append([]byte("Return-Path: <"+config.SMTPRelayConfig.ReturnPath+">\r\n"), msg...) } - msg = append([]byte("Return-Path: <"+config.SMTPRelayConfig.ReturnPath+">\r\n"), msg...) + + from = config.SMTPRelayConfig.ReturnPath } // generate unique ID