mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	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:
		@@ -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("")
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user