m0_37908418
2021-06-11 12:30
采纳率: 63.6%
浏览 397
已结题

python 发邮件怎样让邮件标题Subject的字体带颜色

我现在根据条件发邮件 想在特定条件下 发送带红色字体的邮件标题的 email

如果用html可以那怎样加入msg['subject']

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

2条回答 默认 最新

  • 小P聊技术 2021-06-11 12:46
    最佳回答

    你可以选择发送html格式的邮件: 

    from smtplib import SMTP_SSL
    from email.mime.text import MIMEText
    
    def sendMail(message,Subject,sender_show,recipient_show,to_addrs,cc_show=''):
        '''
        :param message: str 邮件内容
        :param Subject: str 邮件主题描述
        :param sender_show: str 发件人显示,不起实际作用如:"xxx"
        :param recipient_show: str 收件人显示,不起实际作用 多个收件人用','隔开如:"xxx,xxxx"
        :param to_addrs: str 实际收件人
        :param cc_show: str 抄送人显示,不起实际作用,多个抄送人用','隔开如:"xxx,xxxx"
        '''
        # 填写真实的发邮件服务器用户名、密码
        user = 'root'
        password = '123456'
        # 邮件内容
        msg = MIMEText(message, 'html', _charset="utf-8")
        # 邮件主题描述
        msg["Subject"] = Subject
        # 发件人显示,不起实际作用
        msg["from"] = sender_show
        # 收件人显示,不起实际作用
        msg["to"] = recipient_show
        # 抄送人显示,不起实际作用
        msg["Cc"] = cc_show
        with SMTP_SSL(host="smtp.exmail.qq.com",port=465) as smtp:
            # 登录发送邮件服务器
            smtp.login(user = user, password = password)
            # 实际发送、接收邮件配置
            smtp.sendmail(from_addr = user, to_addrs=to_addrs.split(','), msg=msg.as_string())
    
    if __name__ =='__main':
        message = '''
        <p>Python 邮件发送测试...</p>
        <p><a href="https://www.baidu.com">纵里寻她千百度</a></p>
        '''
        Subject = '主题测试'
        # 显示发送人
        sender_show = 'xxx'
        # 显示收件人
        recipient_show = 'xxx'
        # 实际发给的收件人
        to_addrs = 'xxx@qq.com'
        sendMail(message,Subject,sender_show,recipient_show,to_addrs)
    评论
    解决 1 无用 2
    打赏 举报
查看更多回答(1条)

相关推荐 更多相似问题