springboot发送邮件免授权码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot发送邮件免授权码相关的知识,希望对你有一定的参考价值。

参考技术A springboot发送邮件免授权码
一直有的是 springfox-boot-starter 3.0.0,但是觉着界面和测试不太友好,想换成 knife4j,但考虑到是已经成型并运行的项目,替换会存在很多问题,例如 依赖冲突;对 knife4j 没有太多了解,有没有快速集成进来的方法,只要能使用当前 knife4j 的界面以及功能即可。

利用Python+163邮箱授权码发送邮件

背景

前段时间写了个自动打卡的脚本,但是脚本不够完善,我需要知道,打卡到底成没成功,因此,我想到了用Python执行完代码之后,再执行一段发送邮件的代码。需求开始明确了,就开始分析和写代码实现吧。

分析

SMTP(Simple Mail Transfer Protocol),即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。
python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp协议进行了简单的封装。

代码实现

import smtplib
from email.mime.text import MIMEText  
# 引入smtplib和MIMEText
from time import sleep

def sentemail():
    host = \'smtp.163.com\'  
    # 设置发件服务器地址
    port = 465  
    # 设置发件服务器端口号。注意,这里有SSL和非SSL两种形式,现在一般是SSL方式
    sender = \'a419914150@163.com\'  
    # 设置发件邮箱,一定要自己注册的邮箱
    pwd = \'SGJEKFBFK322\'  
    # 设置发件邮箱的授权码密码,根据163邮箱提示,登录第三方邮件客户端需要授权码
    receiver = \'419914150@qq.com\' 
    # 设置邮件接收人,可以是QQ邮箱
    body = \'<h1>你已成功打卡</h1><p>zhongfs</p>\' 
    # 设置邮件正文,这里是支持HTML的
    msg = MIMEText(body, \'html\') 
    # 设置正文为符合邮件格式的HTML内容
    msg[\'subject\'] = \'打卡通知\' 
    # 设置邮件标题
    msg[\'from\'] = sender  
    # 设置发送人
    msg[\'to\'] = receiver  
    # 设置接收人
    try:
	    s = smtplib.SMTP_SSL(host, port)  
        # 注意!如果是使用SSL端口,这里就要改为SMTP_SSL
	    s.login(sender, pwd)  
        # 登陆邮箱
	    s.sendmail(sender, receiver, msg.as_string())
        # 发送邮件!
	    print (\'Done.sent email success\')
    except smtplib.SMTPException:
	    print (\'Error.sent email fail\')
        
if __name__ == \'__main__\':
    sentemail()

执行情况

程序运行截图:

收到邮件截图:

总结

本文简单介绍了如何利用python通过163邮箱发送邮件,并附上了代码。由于比较简单,不再过多阐述。已上传github代码,链接如下:

https://github.com/rootzhongfengshan/python_practical/blob/master/SentMail/SentMail.py

以上是关于springboot发送邮件免授权码的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot发送邮件(详细学习笔记)

Springboot发送邮件

SpringBoot实现发送邮件

springboot用163邮箱、阿里云企业邮箱发送邮件的配置

邮箱启用授权码发送邮件

利用Python+163邮箱授权码发送邮件