mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	Refs #34900 -- Fixed SafeMIMEText.set_payload() crash on Python 3.13.
Payloads with surrogates are passed to the set_payload() since
f97f25ef5d
			
			
This commit is contained in:
		@@ -168,7 +168,8 @@ class SafeMIMEText(MIMEMixin, MIMEText):
 | 
			
		||||
    def set_payload(self, payload, charset=None):
 | 
			
		||||
        if charset == "utf-8" and not isinstance(charset, Charset.Charset):
 | 
			
		||||
            has_long_lines = any(
 | 
			
		||||
                len(line.encode()) > RFC5322_EMAIL_LINE_LENGTH_LIMIT
 | 
			
		||||
                len(line.encode(errors="surrogateescape"))
 | 
			
		||||
                > RFC5322_EMAIL_LINE_LENGTH_LIMIT
 | 
			
		||||
                for line in payload.splitlines()
 | 
			
		||||
            )
 | 
			
		||||
            # Quoted-Printable encoding has the side effect of shortening long
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user