实验环境: python2.7
1、发送文本 email
#!/usr/bin/python
#-*- coding:utf8 -*-
# 文件不能命名为 email.py, 否则会与 from email.mime.text import MIMEText 冲突,报错
import smtplib
from email.mime.text import MIMEText
from email.header import Header
def mail_send(mail_body):
sender = 'exaple@email.com' # 发送用户名
receiver = 'rec1@email.com' # 接收方
#tolist = ['rec2@email.com','rec2@email.com'] # 发送给多个人
subject = '服务器健康检查' # 主题
smtpserver = 'email.com' # 服务器地址
username = 'exaple@email.com' # 登陆名,必须与发送用户名相同,否则会报错
password = '123456' # 授权码
# 发送的消息 注意第二项必须为plain才能显示,如果为text,发送内容将会以二进制作为附件发送给对方。
# 如果是想要带有格式,可以采用html格式,第二项可以配置为'html',汉字发送,第三项需要设置为'utf-8'
msg = MIMEText(mail_body, 'plain', 'utf-8')
msg['Subject'] = Header(subject, 'utf-8') # 消息的主题
# 消息来源主要是为了让接收方知道是谁发送的邮件,如果没有这项,邮件将会被当作垃圾邮件处理,发送不成功
msg['From'] = sender
msg['To'] = receiver # 作用同'From'
#msg['To'] = ','.join(tolist) # 发送给多个人
# 调用smtplib模块进行发送,这块没啥坑
smtp = smtplib.SMTP()
smtp.connect(smtpserver)
smtp.login(username, password)
smtp.sendmail(sender, tolist, msg.as_string())
smtp.quit()
mail_body = '问题 ilo 列表如下:\nAre you ok\nI\'m fine'
mail_send(mail_body)
2、发送 html email
#!/usr/bin/python
#-*- coding:utf8 -*-
# 文件不能命名为 email.py, 否则会与 from email.mime.text import MIMEText 冲突,报错
import smtplib
from email.mime.text import MIMEText
from email.header import Header
def mail_send(mail_body):
sender = 'exaple@email.com' # 发送用户名
receiver = 'rec1@email.com' # 接收方
#tolist = ['rec2@email.com','rec2@email.com'] # 发送给多个人
subject = '服务器健康检查' # 主题
smtpserver = 'email.com' # 服务器地址
username = 'exaple@email.com' # 登陆名,必须与发送用户名相同,否则会报错
password = '123456' # 授权码
# 发送的消息 注意第二项必须为plain才能显示,如果为text,发送内容将会以二进制作为附件发送给对方。
# 如果是想要带有格式,可以采用html格式,第二项可以配置为'html',汉字发送,第三项需要设置为'utf-8'
msg = MIMEText(mail_body, 'html', 'utf-8')
msg['Subject'] = Header(subject, 'utf-8') # 消息的主题
# 消息来源主要是为了让接收方知道是谁发送的邮件,如果没有这项,邮件将会被当作垃圾邮件处理,发送不成功
msg['From'] = sender
msg['To'] = receiver # 作用同'From'
#msg['To'] = ','.join(tolist) # 发送给多个人
# 调用smtplib模块进行发送,这块没啥坑
smtp = smtplib.SMTP()
smtp.connect(smtpserver)
smtp.login(username, password)
smtp.sendmail(sender, receiver, msg.as_string())
smtp.quit()
mail_body = '''
<meta http-equiv="Content-Type"content="text/html;charset=utf-8">
<html align='left'>
<h1>检查报告</h1>
<body>
<h2>报告综述</h2>
<p>开始时间 : 2020-05-18 09:00 结束时间 : 2020-05-18 09:02</p>
<p>检测结果 : *** 其它信息:***</p>
<h2>问题服务器详细信息</h2>
<table border="1" width = "60%" cellspacing='0' cellpadding='0' align='left'>
<tr>
<th>ilo ip</th>
<th>检测结果</th>
<th>登陆</th>
</tr>
<tr align='center'>
<td>10.1.1.141</td>
<td>ilo 10.1.1.141 storage status is Degraded</td>
<td><a href=
https://10.1.1.141>
;点击登陆</a></td>
</tr>
<tr align='center'>
<td>10.1.1.124</td>
<td>ilo 10.1.1.124 network status is Degraded</td>
<td><a href=
https://10.1.1.124>
;点击登陆</a></td>
</tr>
</table>
</body>
</html>
'''
mail_send(mail_body)