0
我正在嘗試編寫一個程序,該程序將監視磁盤使用情況並在超過閾值時發送電子郵件。這是我到目前爲止有:電子郵件腳本發送文件ATT00001而不是電子郵件正文中的文本
#!/usr/bin/python
import os,psutil,smtplib
from email.mime.text import MIMEText
from subprocess import Popen, PIPE
THRESHOLD = 90
partitions = psutil.disk_partitions(all=True)
message = 'WARNING: DISK OVER ' + str(THRESHOLD) + '% FULL'
#for loop to iterate through disks and monitor usage
for p in partitions:
diskuse = (psutil.disk_usage(p.mountpoint).percent)
if psutil.disk_usage(p.mountpoint).percent >= THRESHOLD:
msg = MIMEText(message)
msg["From"] = "****@***.com"
msg["To"] = "****@***.com"
msg["Subject"] = "DISK(S) OVER THRESHOLD"
P = Popen(["/usr/sbin/sendmail", "-t", "-oi"], stdin=PIPE,universal_newlines=True)
P.communicate(msg.as_string())
當我嘗試運行該程序,因爲它是在這裏,將電子郵件發送,而不是發送文本電子郵件,我收到了一個名爲ATT00001文件。我試圖不diskuse
運行程序和它的工作我所期望的方式,但我想不出爲什麼它不會讓我送兩message
和diskuse
你是如何發送'diskuse'的?我沒有在你的代碼中看到它。 – frankyjuang