日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python发邮件11002_【python发送zabbix报警邮件,SSL版本】mailman.py

發布時間:2024/1/23 python 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python发邮件11002_【python发送zabbix报警邮件,SSL版本】mailman.py 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【python發送zabbix報警郵件,SSL版本】mailman.py#!/usr/local/bin/python3

#

#?via??@?20150210

#?SSL?only

'''

用法:

mailman.py?"to"?"subject"?"body"?"p_w_uploads"

說明:

[-]?1個收件人:

./mailman.py?'a@example.com'?"test?subject"?"simple?test?content"

[-]?多個收件人:

./mailman.py?"a@example.com;b@example.com"?"test?again"?"another?simple?test"

[-]?帶附件:

./mailman.py?'c@example.com'?'test1'?'test?att'?'/tmp/a.log'?'/tmp/1.log'

--

'''

from?email.mime.text?import?MIMEText

from?email.mime.base?import?MIMEBase

from?email.mime.multipart?import?MIMEMultipart

from?email?import?encoders

import?smtplib,?os,?sys,?logging,?base64

#?發件人

email_from_1?=?{'smtp':'smtp.126.com',?'account':'xxx@126.com',?'password':'xxx',?'nickname':'zbx_svr',?'greeting':'Dear?Sir'}

#?發件人,備用

email_from_2?=?{'smtp':'smtp.126.com',?'account':'xxx@126.com',?'password':'xxx',?'nickname':'zbx_svr_bak',?'greeting':'Dear?Sir'}

#?+----?logging?---+

logging_file?=?'/tmp/mailman.py.log'

logging.basicConfig(

level?=?logging.DEBUG,

format?=?'%(asctime)s?[%(levelname)s]:?%(message)s',

filename?=?logging_file,

filemode?=?'a',

)

def?delivering(s_from,?s_to):

'''

s_from:?(smtp,?account,?password,?nickname,?greeting)

s_to:?(to,?subject,?body,?p_w_uploads)

'''

#+----?logging?---+

print("logging?to",?logging_file)

logging.info('''\

Now?delivering..

+------------------------------+

from:????{0}?

to:??????{3}

subject:?{4}

content:

>>

{2},

{5}

>>

p_w_uploads:

{6}

+------------------------------+

'''.format(s_from['nickname'],?s_from['account'],?s_from['greeting'],

s_to['to'],?s_to['subject'],?s_to['body'],?s_to['p_w_uploads']))

#?email?header

m?=?MIMEMultipart()

m['From']?=?'{0}?'.format(s_from['nickname'],?s_from['account'])

m['To']?=?';'.join(s_to['to'])

m['Subject']?=?s_to['subject']

#?email?body

content?=?MIMEText('''

{0},

{1}

'''.format(s_from['greeting'],?s_to['body']),?'plain',?'utf-8')

m.attach(content)

#?email?p_w_uploads

for?filename?in?s_to['p_w_uploads']:

with?open(filename,?'rb')?as?f:

addon?=?MIMEBase('application',?'octet-stream')

addon.set_payload(f.read())

encoders.encode_base64(addon)

addon.add_header('Content-Disposition',?'p_w_upload;?\

filename="{0}"'.format(os.path.basename(filename)))

m.attach(addon)

#?send?email

svr?=?smtplib.SMTP()

try:

svr.connect(s_from['smtp'])

svr.ehlo()

svr.starttls()

svr.ehlo()

#svr.set_debuglevel(1)

svr.login(s_from['account'],?s_from['password'])

svr.sendmail(s_from['account'],?s_to['to'],?m.as_string())

retval?=?0

except?KeyboardInterrupt:

print('[*]?operation?aborted!')

retval?=?-1

except?Exception?as?err:

print('[*]?delivering?err:?{0}'.format(err),?file=sys.stderr)

#+----?logging?---+

logging.warning('delivering:?{0}'.format(err))

retval?=?-2

finally:

svr.quit()

#+----?logging?---+

logging.info("mailman?code:?{0}".format(retval))

return?retval

def?usage():

print(__doc__)

sys.exit(2)

if?__name__?==?'__main__':

if?len(sys.argv)?

usage()

email_to?=?{}

email_to['to']?=?sys.argv[1].split(';')

email_to['subject']?=?sys.argv[2]

email_to['body']?=?sys.argv[3]

email_to['p_w_uploads']?=?sys.argv[4:]

try:

retval?=?delivering(email_from_1,?email_to)

if?retval?

tips?=?"try?again,?using?backup?account?to?deliver.."

print(tips)

#+----?logging?---+

logging.info(tips)

retval?=?delivering(email_from_2,?email_to)

msg?=?'Mail?delivering:?'

msg?+=?'Failed!'?if?retval?else?'Successful!'

print(msg)

#+----?logging?---+

logging.info(msg)

except?Exception?as?err:

print('[*]?main?err:?{0}'.format(err),?file=sys.stderr)

#?logging

logging.warning('{0}'.format(err))

總結

以上是生活随笔為你收集整理的python发邮件11002_【python发送zabbix报警邮件,SSL版本】mailman.py的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。