Add option to convert CRLF to LF line endings for sendmail (#18075)
It appears that several versions of sendmail require that the mail is sent to them with LF line endings instead of CRLF endings - which of course they will then convert back to CRLF line endings to comply with the SMTP standard. This PR adds another setting SENDMAIL_CONVERT_CRLF which will pass the message writer through a filter. This will filter out and convert CRLFs to LFs before writing them out to sendmail. Fix #18024 Signed-off-by: Andrew Thornton <art27@cantab.net>
This commit is contained in:
parent
bf7b083cfe
commit
1514e13bb8
4 changed files with 20 additions and 7 deletions
|
@ -37,9 +37,10 @@ type Mailer struct {
|
|||
IsTLSEnabled bool
|
||||
|
||||
// Sendmail sender
|
||||
SendmailPath string
|
||||
SendmailArgs []string
|
||||
SendmailTimeout time.Duration
|
||||
SendmailPath string
|
||||
SendmailArgs []string
|
||||
SendmailTimeout time.Duration
|
||||
SendmailConvertCRLF bool
|
||||
}
|
||||
|
||||
var (
|
||||
|
@ -71,8 +72,9 @@ func newMailService() {
|
|||
IsTLSEnabled: sec.Key("IS_TLS_ENABLED").MustBool(),
|
||||
SubjectPrefix: sec.Key("SUBJECT_PREFIX").MustString(""),
|
||||
|
||||
SendmailPath: sec.Key("SENDMAIL_PATH").MustString("sendmail"),
|
||||
SendmailTimeout: sec.Key("SENDMAIL_TIMEOUT").MustDuration(5 * time.Minute),
|
||||
SendmailPath: sec.Key("SENDMAIL_PATH").MustString("sendmail"),
|
||||
SendmailTimeout: sec.Key("SENDMAIL_TIMEOUT").MustDuration(5 * time.Minute),
|
||||
SendmailConvertCRLF: sec.Key("SENDMAIL_CONVERT_CRLF").MustBool(true),
|
||||
}
|
||||
MailService.From = sec.Key("FROM").MustString(MailService.User)
|
||||
MailService.EnvelopeFrom = sec.Key("ENVELOPE_FROM").MustString("")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue