Python邮件发送

邮件发送

  • 简介:

    • 邮件服务器:用户名、密码
    • 相关协议:
      • 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对象发送邮件
本博客所有文章如无特别注明均为原创。作者:止语复制或转载请以超链接形式注明转自 止语-编程学习分享
原文地址《Python邮件发送

相关推荐

发表评论

路人甲
看不清楚?点图切换

网友评论(0)