从脚本中发送python控制台输出作为电子邮件的最佳方法是什么?

时间:2015-10-19 06:18:16

标签: python smtplib

我有一个python脚本可以执行多项操作并在控制台上打印日志。目前,我还没有使用任何日志记录机制(我只是使用 <script id="validity" type="text/javascript"> function Validate() { Blah blah blah boring code } </script> <asp:Button ID="btnAdd" runat="server" OnClientClick="return Validate();" OnClick="Validate" Text="Add" Width="100" /> 打印所需的消息)如何获取所有打印并将其作为电子邮件发送出去?我是否必须将其全部保存在变量中并将其传递给smtplib?还是有更好的方法?

示例代码

print

所有照片都应该通过电子邮件拍摄。

2 个答案:

答案 0 :(得分:5)

你真的应该使用Python附带的优秀logging system

将它与mailinglogger处理程序相结合,您就拥有了所需的一切:

import logging

from mailinglogger.SummarisingLogger import SummarisingLogger

handler = SummarisingLogger('from@example.com',
                            ('to@example.com',),
                            subject='[LOGS] %s (hostname)s',
                            mailhost='smtp.example.com')

logging.basicConfig(format='%(asctime)s %(message)s',
                    datefmt='%m/%d/%Y %I:%M:%S %p',
                    level=logging.INFO)
logger = logging.getLogger()
logger.addHandler(handler)

logging.info('Sent by email.')

答案 1 :(得分:2)

我会使用logging库,将日志记录配置到文件,然后只读取该文件的内容并将其发送或将日志文件直接附加到您要发送的电子邮件中(请参阅{{ 3}})。