Skip to content

Commit

Permalink
Properly format From header that includes a name (#15684)
Browse files Browse the repository at this point in the history
  • Loading branch information
themylogin authored Feb 12, 2025
1 parent bf3dca8 commit 61d866a
Showing 1 changed file with 5 additions and 7 deletions.
12 changes: 5 additions & 7 deletions src/middlewared/middlewared/plugins/mail.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
from email.message import Message
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.utils import formatdate, make_msgid
from email.utils import formataddr, formatdate, make_msgid
import html2text
from threading import Lock

Expand Down Expand Up @@ -461,13 +461,11 @@ def send_mail_queue(self):

def _from_addr(self, config):
if config['fromname']:
from_addr = Header(config['fromname'], 'utf-8')
pair = (config['fromname'], config['fromemail'])
try:
config['fromemail'].encode('ascii')
return formataddr(pair, 'ascii')
except UnicodeEncodeError:
from_addr.append(f'<{config["fromemail"]}>', 'utf-8')
else:
from_addr.append(f'<{config["fromemail"]}>', 'ascii')
return formataddr(pair, 'utf-8')
else:
try:
config['fromemail'].encode('ascii')
Expand All @@ -476,7 +474,7 @@ def _from_addr(self, config):
else:
from_addr = Header(config['fromemail'], 'ascii')

return from_addr
return from_addr

@private
async def local_administrators_emails(self):
Expand Down

0 comments on commit 61d866a

Please sign in to comment.