Python格式traceb

2024-04-20 09:28:24 发布

您现在位置:Python中文网/ 问答频道 /正文

目标是从失败的python脚本打印回溯。我引用了大量的文章,但找不到适合我需要的。目标是在出现故障时通过电子邮件回溯。我可以电邮一切都很好,只是格式化说回溯。你知道吗

要得到我的回溯:

trace = traceback.format_exc()
send_email("Python Failure", trace, "bj@mydomain.com")

电子邮件正在通过一个带有smtpObj和MIMEMultipart的html电子邮件运行:

def send_email(subject, message, receivers):
    sender = "mydomain.com"
    msg = MIMEMultipart("alternative")
    msg["Subject"] = subject
    msg["From"] = sender
    msg["To"] = ", ".join(receivers)

    html = """
    <html>
        <head></head>
        <body>
            <p><b>""" + subject + """</b></p>
            <p>""" + message + """</p>
        </body>
    </html>
    """
    part1 = MIMEText(message, "plain")
    part2 = MIMEText(html, "html")

    msg.attach(part1)
    msg.attach(part2)

    smtpObj = smtplib.SMTP("thats.not.cheddar")
    smtpObj.sendmail(sender, receivers, msg.as_string())
    smtpObj.quit()

当我收到邮件时,回溯就在那里,但都在一行。我只是想知道是否有人能帮我把格式改好一点。你知道吗


Tags: comsendmessage目标电子邮件emailhtmltrace
1条回答
网友
1楼 · 发布于 2024-04-20 09:28:24

如果您添加Content-Typetext,那么它应该将\n显示为换行符,并且您不会在一行中获得所有内容。你知道吗

def send_email(subject, message, receivers):
    msg = email.message.Message()
    sender = "mydomain.com"
    msg["Subject"] = subject
    msg["From"] = sender
    msg["To"] = ", ".join(receivers)
    msg.add_header('Content-Type', 'text')
    msg.set_payload(message)

    smtpObj = smtplib.SMTP("thats.not.cheddar")
    smtpObj.sendmail(msg["From"], msg["To"], msg.as_string())
    smtpObj.quit()

相关问题 更多 >