elasticsearch,Python,Json,Email,elasticsearch" /> elasticsearch,Python,Json,Email,elasticsearch" />

Python 如何将json对象以电子邮件形式发送

Python 如何将json对象以电子邮件形式发送,python,json,email,elasticsearch,Python,Json,Email,elasticsearch,我有一个python脚本,它以json的形式获取集群运行状况并向我发送邮件。问题是json并没有很好地打印出来。 以下是我已经尝试过的方法: 简单-->json.dumps(运行状况) 转储(运行状况,缩进=4,排序键=True) 但是gmail中的输出仍然是未格式化的,有点像这样 {“活动的主要的切分”:25,“活动的切分”:50,“活动的切分百分比作为切分编号”:100.0,“群集名称”:“待处理的任务数量”:0,“重新定位切分”:0,“状态”:“绿色”,“任务最大值在队列中等待”:0,“超

我有一个python脚本,它以json的形式获取集群运行状况并向我发送邮件。问题是json并没有很好地打印出来。 以下是我已经尝试过的方法:

  • 简单-->json.dumps(运行状况)
  • 转储(运行状况,缩进=4,排序键=True)
  • 但是gmail中的输出仍然是未格式化的,有点像这样

    {“活动的主要的切分”:25,“活动的切分”:50,“活动的切分百分比作为切分编号”:100.0,“群集名称”:“待处理的任务数量”:0,“重新定位切分”:0,“状态”:“绿色”,“任务最大值在队列中等待”:0,“超时”:false,“未分配的切分”:0


    邮件已发送到gmail

    我不能确定,但似乎您的电子邮件发送代码默认为发送“HTML”电子邮件,并且在HTML连续空间中折叠为一个,这样HTML代码如下:

    <p>
        This is a paragraph, but it's long so
        I'll break to a new line, and indented
        so I know it's within the `p` tag, etc.
    </p>
    
    我的工作很好 Python 2.7.3(默认值,2015年1月17日,17:10:37) [GCC 3.4.5 20051201(Red Hat 3.4.5-2)]关于linux2


    也许它与版本有关,发布您的版本并输出

    打印它对我也有效。但当以电子邮件形式发送时,json格式会中断HTML将忽略所有这些换行符,尝试在每行中添加
    ,并用空格替换,然后像这样发送ie{
    “4”:5,
    email_body = json.dumps(
        health, indent=4, sort_keys=True).replace(' ', '&nbsp;').replace('\n', '<br>')
    
    >>> import json
    >>> s = json.dumps({'4': 5, '6': 7}, sort_keys=True, indent=4)
    >>> print s
    {
        "4": 5, 
        "6": 7
    }