python 发送邮件

实验环境: 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)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值