python 发送邮件脚本

306 阅读1分钟

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# author: SS

import sys
reload(sys)
sys.setdefaultencoding('utf-8')
sys.path.append('.')
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.application import MIMEApplication

host = "***"  # 邮箱服务器
user = "***"  # 邮箱账户
password = "***"  # 邮箱密码

def sendemail(_to, pathname, filename):

    # 如名字所示Multipart就是分多个部分
    msg = MIMEMultipart()
    msg["Subject"] = "全国天气数据"
    msg["From"] = user
    msg["To"] = _to

    # ---这是文字部分---

    part = MIMEText("全国天气数据")
    msg.attach(part)

    # ---这是附件部分---

    part = MIMEApplication(open(pathname, 'rb').read())
    part.add_header('Content-Disposition', 'attachment', filename=filename)
    msg.attach(part)

    s = smtplib.SMTP(host, timeout=30)  # 连接smtp邮件服务器,端口默认是25
    s.login(user, password)  # 登陆服务器
    s.sendmail(user, _to, msg.as_string())  # 发送邮件
    s.close()


if __name__ == "__main__":
    mail = "***"  # 邮箱
    path_excel = './././全国天气数据.csv'  # 带路径的csv文件
    sendemail(mail, path_excel, "全国天气数据.csv")

多种附件类型都可以发送:.xlsx、.jpg、.pdf、.mp3、.csv 。。。