linux下邮件发送服务器日志「建议收藏」

linux下邮件发送服务器日志「建议收藏」sendsyslog.py //发送邮件调用程序#!/usr/bin/envpython#-*-coding:UTF-8-*-importosimportsyssys.path.append(os.getcwd())importsendlog############sendlog.py//发送邮件配置程序#

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用
sendsyslog.py 

//发送邮件调用程序

#!/usr/bin/env python

# -*- coding: UTF-8 -*-

import os

import sys

sys.path.append(os.getcwd())

import sendlog

############

sendlog.py

//发送邮件配置程序

#!/usr/bin/env python

# -*- coding: UTF-8 -*-

”’

Created on 2012-7-25

@author: devops@qq.com

………..log……..

…..fcntl …….linux

………………pyc..,……py………

1…pyc .. python -c “import py_compile;py_compile.compile(r’/root/zyy/scripts/sendlog.py’)”

2…..py.. sendsyslog.py

#!/usr/bin/env python

# -*- coding: UTF-8 -*-

import os

import sys

sys.path.append(os.getcwd())

import sendlog

”’

from email.Header import Header

from email.MIMEText import MIMEText

from email.MIMEMultipart import MIMEMultipart

import smtplib

import datetime

import socket 

import fcntl

import struct 

 

def get_ip_address(ifname): 

    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 

    return socket.inet_ntoa(fcntl.ioctl( 

        s.fileno(), 

        0x8915,  # SIOCGIFADDR 

        struct.pack(‘256s’, ifname[:15]) 

    )[20:24])

 

host = “host” + get_ip_address(‘eth0’).split(“.”)[3]

mail_user = “发件人”

mail_pass = “发件人邮箱密码”

mail_sender = “发件人邮箱”

mail_recipients = [ “收件人邮箱地址1”, “收件人邮箱地址2” ]

mail_server = “邮件服务器”

logpath = “发送附件存放目录”

logname = str(datetime.date.today()) + “.log”

logfile = logpath + logname

#……….

msg = MIMEMultipart()

#….

att = MIMEText(open(logfile, ‘rb’).read(), ‘base64’, ‘utf-8’)

att[“Content-Type”] = ‘application/octet-stream’

att[“Content-Disposition”] = ‘attachment; filename=%s %s’ % (host,logname)

msg.attach(att)

#….

msg[‘from’] = mail_sender

msg[‘subject’] = Header(‘Server %s daily log (‘ % host + str(datetime.date.today()) + ‘)’, ‘utf-8’)

#….

server = smtplib.SMTP()

server.connect(mail_server)

server.login(mail_user, mail_pass)

server.sendmail(mail_sender, mail_recipients, msg.as_string())

server.close()

“”

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189505.html原文链接:https://javaforall.net

(0)
上一篇 2026年4月13日 下午2:40
下一篇 2026年4月13日 下午2:46


相关推荐

  • 常用C#代码「建议收藏」

    常用C#代码「建议收藏」常用C#代码字符串处理1.字符串截取//字符串截取//从此实例检索子字符串。子字符串从指定的字符位置开始且具有指定的长度。string.Substring(intindex,intlength);//从此实例检索子字符串。子字符串在指定的字符位置开始并一直到该字符串的末尾。string.Substring(intindex);2.字符串分割//字符串分割//separator-char类型的数组分隔符,例:newchar[]{‘,’,‘|’}string.Split

    2025年10月15日
    4
  • executeupdate mysql_java – 使用Mysql中的executeUpdate通过sql语句…

    executeupdate mysql_java – 使用Mysql中的executeUpdate通过sql语句…我有以下doGet():protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{MysqlDataSourceds=newMysqlConnectionPoolDataSource();ds.setServerNa…

    2022年10月20日
    5
  • python3 selenium ActionChains用法

    python3 selenium ActionChains用法下面介绍一下 ActionChains 用 selenium 做自动化 有时候会遇到需要模拟鼠标操作才能进行的情况 比如单击 双击 点击鼠标右键 拖拽等等 而 selenium 给我们提供了一个类来处理这类事件 ActionChains nbsp nbsp nbsp selenium webdriver common action chains ActionChains driver 这个类基本能够满足我们所有对鼠标

    2025年11月8日
    4
  • C++中限定输入整形,输入字符串如何处理异常[通俗易懂]

    C++中限定输入整形,输入字符串如何处理异常

    2022年2月7日
    56
  • 一篇文章牢记C/C++指针和引用区别

    一篇文章牢记C/C++指针和引用区别指针有自己的一块空间 而引用只是一个别名 本质 使用 sizeof 看一个指针的大小是 4 32 位下 而引用则是被引用对象的大小 大小 指针可以被初始化为 NULL 而引用必须被初始化且必须是一个已有对象的引用 初始化 作为参数传递时 指针需要被解引用才可以对对象进行操作 而直接对引用的修改都会改变引用所指向的对象 可以有 const 指针 但是没有 const 引用 指针在使用中可以指向其它对象 但是引用只能是一个对象的引用 不能被改变 指针可以有多级指针 p 而引用至于一级 指针和

    2026年3月18日
    2
  • 部署超便捷,联通云全场景接入OpenClaw!

    部署超便捷,联通云全场景接入OpenClaw!

    2026年3月13日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号