如何通过Gmail应用密码发送邮件?含Python配置方法
使用Gmail应用密码发送邮件及Python配置指南
一、启用Gmail应用密码的前置条件与步骤
要使用应用密码发送邮件,必须先开启Google账号的两步验证,之后才能生成应用密码:
- 登录你的Google账号,进入账号安全设置页面
- 找到「两步验证」选项,确认已开启(未开启的话按照指引完成设置)
- 在安全设置页面下滑,找到「应用密码」入口(仅开启两步验证后可见)
- 在「选择应用」下拉菜单中选「邮件」,「选择设备」可根据实际场景选,比如自定义名称填「Python邮件脚本」
- 点击生成,系统会给出一串16位的应用密码,务必保存好(只会显示一次)
二、Python配置实现邮件发送
Python自带smtplib和email库,无需额外安装即可实现邮件发送,具体步骤如下:
1. 导入必要模块
import smtplib from email.mime.text import MIMEText from email.header import Header # 若需读取环境变量存储密码,可导入os模块 # import os
2. 编写发送代码示例
# 基础配置 sender_email = "your-account@gmail.com" # 这里填刚才生成的16位应用密码 app_password = "your-16-digit-app-password" # 若用环境变量,替换为:app_password = os.getenv("GMAIL_APP_PASSWORD") receiver_emails = ["target@example.com"] # 构造邮件内容 email_content = MIMEText("这是通过Gmail应用密码发送的测试邮件", "plain", "utf-8") email_content["From"] = Header("发送者名称", "utf-8") email_content["To"] = Header("接收者名称", "utf-8") email_content["Subject"] = Header("Gmail应用密码测试邮件", "utf-8") try: # 连接Gmail的SMTP SSL服务器 smtp_server = smtplib.SMTP_SSL("smtp.gmail.com", 465) # 登录验证 smtp_server.login(sender_email, app_password) # 发送邮件 smtp_server.sendmail(sender_email, receiver_emails, email_content.as_string()) print("邮件发送成功") except smtplib.SMTPException as e: print(f"发送失败:{str(e)}") finally: # 关闭连接 smtp_server.quit()
注意事项
- 确保你的Python环境能够访问外网,否则无法连接Gmail的SMTP服务器
- 不要将应用密码硬编码在代码中,建议使用环境变量、配置文件等方式存储,避免密码泄露
- 若遇到发送失败,可检查两步验证是否开启、应用密码是否正确、收件人邮箱格式是否合法
内容的提问来源于stack exchange,提问作者Owen Griffin
相关产品推荐
相关产品推荐

