第18课玩转Python之发邮件⼀、如何发⼀封简单的邮件步骤:构造邮件(email)-发送邮件(smtplib)-发送成功⼆、smtplib模块(如下)importsmtplibserver=smtplib.SMTP()server.connect(host,port)server.login(username,password)server.sendmail(sender,to_addr,msg.as_string())server.quit()解析:(1)第⼀⾏,是引⼊smtplib模块(2)第⼆⾏,server是smtplib.SMTP()创建出来的对象,SMTP是smtpli把模块中的⼀个类(3)SMTP(SimpleMailTransferProtocol)翻译过来是“简单邮件传输协议”的意思,SMTP协议是由源服务器到⽬的地服务器传送邮件的⼀组规则(4)第三⾏代码,连接(connect)指定的服务器,host是指定连接的邮箱服务器;port是端⼝,默认端⼝号是25***如何查看⾃⼰的端⼝号?答:登录邮箱后,在【设置-选项-POP和IMAP】查找相关的端⼝号(5)若使⽤的是QQ邮箱,SMTP服务器地址是:smtp.qq.com,加密端⼝是465,默认的端口是25;QQ邮箱采⽤的加密⽅式是SSLserver=smtplib.SMTP_SSL()#如果端⼝是⽤SSL加密,请这样写代码。其中server是通过smtplib.SMTP()创建出来的对象server.connect('smtp.qq.com',465)#如果出现编码错误UnicodeDecodeError,你可以这样写:server.connect('smtp.qq.com',465,'utf-8')(6)第四⾏代码,login是登录的意思,也就是登录你指定的服务器⽤的,需要输⼊两个参数:登录邮箱和授权(7)第五⾏代码sendmail是“发送邮件”的意思,是发送邮件⽤的,sendmail()⽅法需要三个参数:发件⼈,收件⼈和邮件内容server.sendmail(from_addr,to_addr,msg.as_string())#from_addr:邮件发送地址,就是上⾯的username#to_addr:邮件收件⼈地址#msg.as_string():为⼀个字符串类型(8)最后⼀⾏代码,quit是“退出”的意思,就是退出服务器⼆、email模块(如下)fromemail.mime.textimportMIMETextfromemail.mime.imageimportMIMEImagefromemail.mime.multipartimportMIMEMultipart(1)MIMEText()⽅法需要输⼊三个参数:⽂本内容,⽂本类型和⽂本编码MIMEText(msg,type,chartset)#msg:⽂本内容,可⾃定义#type:⽂本类型,默认为plain(纯⽂本)#chartset:⽂本编码,中⽂为“utf-8”三、梳理发邮件的代码结构(1)导⼊模块:#smtplib⽤于邮件的发信动作importsmtplibfromemail.mime.textimportMIMEText#email⽤于构建邮件内容(2)定义变量:#发信⽅的信息:发信邮箱,QQ邮箱授权码from_addr=input('请输⼊发件⼈的邮箱...