因工作需要,要統計郵箱報警資訊,不需要檢視正文,subject中包含報警資訊。
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from email.parser import parser
from email.header import decode_header
from email.utils import parseaddr
import poplib
defdecode_str
(s):
value, charset = decode_header(s)[0
]if charset:
value = value.decode(charset)
return value
defget_header
(msg)
:for header in
['from'
,'to'
,'subject']:
value = msg.get(header,'')
if value:
if header ==
'subject'
: value = decode_str(value)
elif header in
['from'
,'to'
]:
hdr, addr = parseaddr(value)
name = decode_str(addr)
#value = name + ' < ' + addr + ' > '
value=name
print
(header +
':'+ value)
#頭部資訊已取出
#獲取郵件的字元編碼,首先在message中尋找編碼,如果沒有,就在header的content-type中尋找
defguess_charset
(msg)
: charset = msg.get_charset(
)if charset is
none
: content_type = msg.get(
'content-type',''
).lower(
) pos = content_type.find(
'charset='
)if pos >=0:
charset = content_type[pos+8:
].strip(
)return charset
if __name__ ==
'__main__'
: from_email =
"***[email protected]"
from_email_pwd =
"******"
pop_server =
"pop.qiye.aliyun.com"
server = poplib.pop3(pop_server)
server.set_debuglevel(1)
#設定例項的除錯級別。這控制列印的除錯輸出量。預設值0不產生除錯輸出。值1產生適量的除錯輸出,通常每個請求都有一行。值2或更高會產生最大除錯輸出量,記錄在控制連線上傳送和接收的每行。
print
(server.getwelcome(
).decode(
"utf-8"))
#歡迎資訊
# 登入
server.user(from_email)
server.pass_(from_email_pwd)
resp, mails, octets = server.
list()
# 返回郵件數量和每個郵件的大小
for i in
range(1
,100):
resp, lines, octets = server.retr(i)
# 返回由引數標識的郵件的全部文字
#print(lines)
#print(mails)
msg_content = b"\r\n"
.join(lines)
.decode(
"utf-8"
,"ignore"
)# byte字串
msg = parser(
).parsestr(msg_content)
# 解析為普通字串
get_header(msg)
server.quit(
)
執行後的內容,複製放入linux,進行過濾報警資訊。 python雲計算服務 阿里雲python 雲計算
阿里雲python 雲計算 雲伺服器 elastic compute service,簡稱ecs 是阿里雲提供的效能卓越 穩定可靠 彈性擴充套件的iaas infrastructure as a service 級別雲計算服務。雲伺服器ecs免去了您採購it硬體的前期準備,讓您像使用水 電 天然氣等...
阿里雲k8s事件監控
事件監控是kubernetes中的另一種監控方式,可以彌補資源監控在實時性 準確性和場景上的缺欠。kubernetes的架構設計是基於狀態機的,不同的狀態之間進行轉換則會生成相應的事件,正常的狀態之間轉換會生成normal等級的事件,正常狀態與異常狀態之間的轉換會生成warning等級的事件。開發者...
阿里雲獲取免費的https證書ssl
把 公升級成https的時候,需要用到ssl證書,很多的ssl證書都是要錢的。如果你的資金不是很充裕的話,阿里雲免費的ssl證書將會是你很好的選擇。這篇部落格,就是講解怎麼去獲取阿里雲免費證書ssl 說明 1 一定要先考慮好自己的 是否值得,或著可以公升級為https。不然可能就像我這樣忙活了大半天...