在linux服务器中,我们经常要将执行脚本的结果通过邮件通知。
比如,在nginx服务器宕机时,将服务器的ip通过邮件发给运维。
发送邮件我们可以通过python脚本借助163邮箱来发送邮件。
`cat 163.py`
```
#!/usr/bin/python
# -*- coding: utf-8 -*-
#coding:utf -8
import smtplib #smtp服务器
from json import load
from urllib2 import urlopen
#https://blog.csdn.net/conquerwave/article/details/77666226
my_ip = load(urlopen('http://httpbin.org/ip'))['origin']
print 'httpbin.org', my_ip
from email.mime.text import MIMEText #邮件文本
#邮件构建
subject = "服务器ip"#邮件标题
sender = "test@163.com"#发送方
content = my_ip
recver = "test@163.com,1234567890@qq.com"#接收方
password = "MRVMBVQRFLBXTLQC"#邮箱密码
message = MIMEText(content,"plain","utf-8")
#content 发送内容 "plain"文本格式 utf-8 编码格式
message['Subject'] = subject #邮件标题
message['To'] = recver #收件人
message['From'] = sender #发件人
smtp = smtplib.SMTP_SSL("smtp.163.com",994) #实例化smtp服务器
smtp.login(sender,password)#发件人登录
#smtp.sendmail(sender,[recver],message.as_string()) #as_string 对 message 的消息进行了封装
smtp.sendmail(sender,recver.split(','),message.as_string()) #as_string 对 message 的消息进行了封装
smtp.close()
```
执行
`python2.7 163.py`