邮件发送
简介:
- 邮件服务器:用户名、密码
- 相关协议:
- SMTP:简单邮件传输协议,默认端口是25
- POP3:邮局通讯协议
- IMAP:交互式邮件存取协议
用途:网站注册激活、通知、找回密码、营销等
库:
smtplib
示例:
import os import smtplib from email.mime.text import MIMEText # 邮件服务器 mail_server = 'smtp.qq.com' # 用户名 mail_username = 'fzwl@fzxywl.cn' # 密码,通过环境变量获取,可以避免隐私信息的暴露 # 或授权码,QQ邮箱需要使用授权码 mail_password = os.getenv('MAIL_PASSWORD', '123456') # 邮件内容 content = '请点击右边链接已完成激活' # 创建用于发送的邮件消息对象 # 参数1:邮件内容 # 参数2:内容类型,plain表示普通文本,html表示网页 message = MIMEText(content) # 设置主题 message['Subject'] = '账户激活' # 设置发送者 message['From'] = mail_username # 创建用于发送邮件的对象 # SMTP:邮件不加密,端口25 # SMTP_SSL:邮件加密传输,端口465,QQ邮箱必须使用加密 mail = smtplib.SMTP(mail_server) # 身份认证 mail.login(mail_username, mail_password) # 发送给谁 to = 'fzwl@fzxywl.cn' # 发送邮件 mail.sendmail(mail_username, to, message.as_string()) # 结束 mail.quit()
说明:
- 邮箱服务器配置
- 创建邮件消息对象MIMEText
- 创建用于发送邮件的对象smtplib.SMTP
- 使用邮件发送对象发送邮件
QQ邮件发送特别提醒:
- 密码不是QQ登录密码,而是授权码,需要开启SMTP服务并设置
- 必须使用加密传输,也就是创建SMTP_SSL对象发送邮件