email模块属于内置模块,用来自定义邮件的中文、主题、日期、附件等信息;
smtplib模块属于内置模块,它对smtp协议进行了简单的封装,能实现邮件发送。
二、邮件发送步骤
创建SMTP的操作对象并连接smtp目标服务器,可以是163、QQ等
使用自己的账号登录目标服务器(自己的邮箱地址和邮箱授权码)
调用对象中的方法,发送邮件到目标地址
示例代码如下:
import smtplib
server = smtplib.SMTP()
smtp.connect(smtp_server) # 发件人邮箱中的SMTP服务器,端口默认是25
server.login(sender, passwd) # 发件人邮箱账号、邮箱授权码
# msg.as_string()中as_string()是将msg(MIMEText或MIMEMultipart对象)变为str。
server.sendmail(sender, receive, msg.as_string())
server.quit()
上述代码没有填写实际的值,不能直接执行,有以下注意点:
msg就是我们的邮件信息对象,通过 email模块 进行定义
邮箱授权码 非登录邮箱的密码,需要读者进入QQ邮箱或其它邮箱根据步骤进行开通和获取
简单邮件实战代码如下:
import smtplib
from email.mime.text import MIMEText
smtp = smtplib.SMTP()
smtp.connect('smtp.qq.com')
smtp.login('329999897@qq.com','***授权码***')
msg = MIMEText('这是一封测试邮件', "html", "utf-8") #邮件信息对象
msg['from'] = '329999897@qq.com' # 发送人邮箱
msg['to'] = ‘liusir@qq.com' # 邮件接收人邮箱
msg['subject'] = ‘测试邮件' #邮件主题
smtp.sendmail('329999897@qq.com','liusir@qq.com',msg.as_string())
smtp.quit()
此时就可以完成简单发送邮件啦。
发送邮件的时候也可以带附件,下一次分享吧。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
网友评论