专栏首页小白程序猿只需要40行Python代码实现发送邮件功能

只需要40行Python代码实现发送邮件功能

只需要简单的40行代码就可以实现发送邮件功能,下面我们以163邮箱为服务器,向QQ邮箱中发送内容,以前使用PHP的扩展类也实现了功能,代码高度相似。下面一起来看一下吧!

一、实现原理

利用python自带模块smtplib和email,这两个模块只需要引入即可,其中smtplib模块主要负责发送邮件,email模块主要负责构建邮件。

二、参数获取

此步骤主要需要163邮箱,没有163邮箱的同学可以注册一下,其他的邮箱服务器不做介绍和演示了。原理都是一样的。

1、登录163邮箱

2、填写客户端授权密码

将设置客户端授权码开启,并设置密码,此处密码需要牢记,稍后再代码中需要使用。

三、常用邮箱的smtp服务器地址

新浪邮箱:smtp.sina.com

新浪VIP:smtp.vip.sina.com

搜狐邮箱:smtp.sohu.com,

126邮箱:smtp.126.com

139邮箱:smtp.139.com

163网易邮箱:smtp.163.com

四、代码参数

主机地址:host

端口号:port

发送邮箱:sender

密码:pwd

内容:body

邮件信息设置:

标题:subject

发送人:from

接收人:to

五、代码

# -*- coding: utf-8 -*-
# 使用python 发送邮件至指定用户邮箱
import smtplib
from email.mime.text import MIMEText


def sent_email(email, url, code):
    host = 'smtp.163.com'
    # 设置发件服务器地址
    port = 465
    # 设置发件服务器端口号。注意,这里有SSL和非SSL两种形式,现在一般是SSL方式
    sender = '163邮箱账号'
    # 设置发件邮箱,一定要自己注册的邮箱
    pwd = '邮箱密码'
    # 设置发件邮箱的授权码密码,根据163邮箱提示,登录第三方邮件客户端需要授权码
    body = '<h1>探测链接:' + url + ',出现错误,状态码:' + str(code) + '</h1><p>内参监控发布提示</p>'
    # 设置邮件正文,这里是支持HTML的
    msg = MIMEText(body, 'html')
    # 设置正文为符合邮件格式的HTML内容
    msg['subject'] = '监控通知'
    # 设置邮件标题
    msg['from'] = sender
    # 设置发送人
    msg['to'] = email
    # 设置接收人
    try:
        s = smtplib.SMTP_SSL(host, port)
        # 注意!如果是使用SSL端口,这里就要改为SMTP_SSL
        s.login(sender, pwd)
        # 登陆邮箱
        s.sendmail(sender, email, msg.as_string())
        # 发送邮件!
        print('Done.sent email success')
    except smtplib.SMTPException:
        print('Error.sent email fail')


if __name__ == '__main__':
    email = '接收人邮箱地址'
    # 设置邮件接收人,可以是QQ邮箱
    sent_email(email, '网址', 200)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 第十三节、Python按照索引访问list《Python学习》

    由于list是一个有序集合,所以,我们可以用一个list按分数从高到低表示出班里的3个同学:

    申霖
  • ThinkPHP生成二维码(可自定义设置LOGO)

    基于ThinkPHP框架生成二维码,可自定义logo及其他参数,方法简单易懂,使用composer安装扩展类,区区数十行代码便可以实现功能。可以自定义二维码大小...

    申霖
  • HTTPS是以安全为目标的HTTP通道,HSTS你知道是什么吗?

    HSTS全称是HTTP Strict Transport Security,是一种网络安全的策略,能够防止协议降级、流量劫持等攻击,在阿里云SSL设置里面可以看...

    申霖
  • Word中插入公式后行距变宽的解决

    在Word文档中插入公式后,行距便会变得很大,简单的调整段落的行距是行不通的。逐个点选公式,然后拖动下角的箭头倒可以将它任意放大缩小以调整行距,但是如果在一篇...

    AIHGF
  • 【小白入门帖】有和没有WMS的仓库之间主要区别

    随着业务的发展,公司的仓库管理从基础手工作业+excel记账逐渐走向软件管理,仓库人员思维意识从简单库存管理走向更高效益管理,这是一个仓库必然的过程。好的仓库管...

    物流IT圈
  • 【干货】机器学习最常用优化之一——梯度下降优化算法综述

    【新智元导读】梯度下降算法是机器学习中使用非常广泛的优化算法,也是众多机器学习算法中最常用的优化方法。几乎当前每一个先进的(state-of-the-art)机...

    新智元
  • 【干货】深度学习必备:随机梯度下降(SGD)优化算法及可视化

    【新智元导读】梯度下降算法是机器学习中使用非常广泛的优化算法,也是众多机器学习算法中最常用的优化方法。几乎当前每一个先进的(state-of-the-art)机...

    新智元
  • 深度|梯度下降优化算法综述

    该文翻译自An overview of gradient descent optimization algorithms。 总所周知,梯度下降算法是机器学习中使...

    智能算法
  • 可道云私有云kodexplorer在蒲公英应用中心使用教程

    蒲公英X5-3353在固件ROM2.22.1在云管理页面的【应用中心】中新嵌入了KOD功能,它是基于Web的在线文档管理器,下面看看如何使用KOD功能:

    之至top
  • 近年APT组织常用的攻击漏洞

    APT攻击(Advanced Persistent Threat,高级持续性威胁)是利用当下先进的攻击手法对特定目标进行长期持续性的网络攻击。APT攻击的高级体...

    HACK学习

扫码关注云+社区

领取腾讯云代金券