分类 【硬件资源】 下的文章

利用Python发送邮件

背景:Buyvm最近访问速度越来越慢了,萌生了更换VPS的打算;

一开始用tar -cvf 网站数据来打包备份,但是最近数据量越来越大了,VPS又只有50多G的硬盘,完全不够用,于是将逻辑修改为tar打包完成后上传至百度云盘(WP2PCS插件一直没搞定,老是502错误,也懒得搞了),然后发一封邮件到手机绑定的邮箱进行通知。以下是是使用Python发送邮件的方法:

# -*- coding: utf-8 -*-
'''
发送带附件邮件
原作者信息:小五义:http://www.cnblogs.com/xiaowuyi
'''
 
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
import smtplib
 
#创建一个带附件的实例
msg = MIMEMultipart()
 
#构造附件1
att1 = MIMEText(open('/Volumes/ORIGINAL/Temp/testmail.py', 'rb').read(), 'base64', 'utf-8')
att1["Content-Type"] = 'application/octet-stream'
att1["Content-Disposition"] = 'attachment; filename="testmail.py"'#这里的filename可以任意写,写什么名字,邮件中显示什么名字
msg.attach(att1)
 
#构造附件2
#att2 = MIMEText(open('d:\\123.txt', 'rb').read(), 'base64', 'utf-8')
#att2["Content-Type"] = 'application/octet-stream'
#att2["Content-Disposition"] = 'attachment; filename="123.txt"'
#msg.attach(att2)
 
#邮件内容
txt = MIMEText("测试发送内容",'plain','utf-8')     
msg.attach(txt)
 
#加邮件头
msg['to'] = '更换为目的邮箱'
msg['from'] = '更换为发送邮箱'
msg['subject'] = 'python邮件模块测试,究极体'
 
#发送邮件
try:
    server = smtplib.SMTP()
    server.connect('更换为smtp服务器地址')
    server.login('XXX','XXXXX')#XXX为用户名,XXXXX为密码
    server.sendmail(msg['from'], msg['to'],msg.as_string())
    server.quit()
    print '发送成功'
except Exception, e:  
    print str(e)