使用 smtp 从 Python 发送电子邮件时如何添加主题和变量?

How to add subject and variables when sending emails from Python using smtp?

在此处的一些帮助下,我设置了一些代码以使用 SMTP 通过 Python 发送电子邮件。但是这个主题不起作用。我怎样才能在电子邮件正文中打印变量值?

        port = 587  # For starttls
        smtp_server = "smtp.server.com"
        sender_email = "sender@outlook.com"
        receiver_email = "receiver@outlook.com"
        password = "password"
        message = """ Subject: Subject

        This message is sent from Python."""

        context = ssl.create_default_context()
        with smtplib.SMTP(smtp_server, port) as server:
            server.ehlo()  # Can be omitted
            server.starttls(context=context)
            server.ehlo()  # Can be omitted
            server.login(sender_email, password)
            server.sendmail(sender_email, receiver_email, message)

能否告知我:

如何正确添加主题,以便在发送电子邮件时正确显示

如何包含变量的打印

目前,电子邮件中唯一显示的是“此邮件发自 Python”

SUBJECT = "SUBJECT of mail"
AGE = 18
message = "Subject: {}\n\n My age is {}".format(SUBJECT, AGE)

可以使用python中字符串的格式化函数来使用变量。 \n\n 是区分主题和消息所必需的