def email_changes(zone, prev_addrs, curr_addrs, subject, server, fromaddr, toaddr, test=False):
bindformat = format_records_for_email(curr_addrs)
prev_addrs = ' '.join(prev_addrs)
curr_addrs = ' '.join(curr_addrs)
prev = sorted([s for s in prev_addrs.split() if 'ip' in s])
curr = sorted([s for s in curr_addrs.split() if 'ip' in s])
diff = HtmlDiff()
table = diff.make_table(
fromlines=prev,
tolines=curr,
fromdesc='Old records',
todesc='New records'
)
header = '<h1>Diff</h1>'
html = _email_style + bindformat + header + table
html = MIMEText(html, 'html')
msg_template = MIMEMultipart('alternative')
msg_template['Subject'] = subject.format(zone=zone)
email = msg_template
email.attach(html)
try:
mailserver = smtplib.SMTP()
mailserver.connect(server)
mailserver.sendmail(fromaddr, toaddr, email.as_string())
except Exception as err:
print('Email failed: ' + str(err))
with open('result.html', 'w+') as mailfile:
mailfile.write(html.as_string())
if test:
return bindformat
评论列表
文章目录