python之小脚本大威力(二)--使用163邮箱发送邮件

昨天我们利用C++创建服务,Python来备份文件。但是还是少了一个东西,就是备份文件成功和失败,我们却不知道。如果我们自己有个服务器的话,还能自己写个小程序上传到自己的服务器。但是这也个成本,很多人自己都没有服务器。我突然想到可以使用邮件通知啊,这样我们就避免了自己搭建服务器,还能省时省力,最主要的就是省钱。所以立马上了github,搜索了下,果不其然有现成的代码可以使用,我修改修改,分享出来给大家一起参考。

这里我采用了网易云邮箱向我的QQ邮箱发送消息。

def send_mail():
    if len(success_copy) == 0 and len(failed_copy) == 0:
        return

    # 第三方 SMTP 服务
    mail_host = "smtp.163.com"  # 设置服务器
    mail_user = "liushixiongcpp@163.com"  # 用户名
    mail_pass = "你自己的口令"  # 口令

    sender = mail_user
    # 接收邮件,可设置为你的QQ邮箱或者其他邮箱
    receivers = [sender, '635672377@qq.com']
    success_info_msg = ""
    if len(success_copy) != 0:
        success_info_msg = "Successfully backing up files:\r\n"
        for item in success_copy:
            # print(count + ":" + item)
            success_info_msg += item + "\r\n"
        success_info_msg += "--------------------------------------\r\n"

    if len(failed_copy) != 0:
        success_info_msg = "Backup file failed:\r\n"
        for item in failed_copy:
            # print(count + ":" + item)
            success_info_msg += item + "\r\n"

    message = MIMEText(success_info_msg, 'plain', 'utf-8')
    message['From'] = sender
    message['To'] = "635672377@qq.com"

    subject = '文件备份'
    message['Subject'] = Header(subject, 'utf-8')

    try:
        smtpObj = smtplib.SMTP()
        # 调试的时候可以打开,如果出错了一定要把调试信息打开便于调试,不至于无处下手
        # smtpObj.set_debuglevel(1)
        smtpObj.connect(mail_host)  # 25 为 SMTP 端口号
        smtpObj.login(mail_user, mail_pass)
        smtpObj.sendmail(sender, receivers, message.as_string())
        print("邮件发送成功")
    # except smtplib.SMTPException:
    except:
        print("Error: 无法发送邮件")

在这里我在介绍下,网易云邮箱,是怎么开启口令的。

在这里插入图片描述在这里插入图片描述
按照这个步骤来,就能获取到口令,在替换Python的脚本中就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值