You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python对接Gmail发信 无需SMTP普通密码的实现方案

无需OAuth的Python发Gmail实现方案

自5月30日起,Gmail关闭了普通账号密码直接通过SMTP登录发信的入口,但并未完全停用SMTP服务,个人小工具场景不需要集成完整的Google OAuth登录流程,仅需调整账号配置即可复用原有smtplib代码。

问题复现

原有居家锻炼提醒工具通过Gmail向vtext短信网关发信实现推送,核心代码如下:

import time
import smtplib
import random
gmail_user = 'usernameImNotSharing@gmail.com'
gmail_password = 'TheCorrectPassword'

sent_from = gmail_user
to = ['myphonenumber@vtext.com']
exercises = ['push ups', 'jumps in place', '20lb curls', 'tricep extensions', 'quarter mile runs']
levels = [1, 2, 3]
level1 = ['10', '15', '16', '20', '1']
level2 = ['15', '30', '30', '40', '2']
level3 = ['20', '50', '48', '70', '4']
while True:
    if int(time.strftime('%H')) > 9:
        if int(time.strftime('%H')) < 23:
            abc = random.uniform(0, 1)
            picker = random.randint(0, 4)
            if abc < 0.3:
                level = level1
            if 0.3 < abc and abc < 0.8:
                level = level2
            if abc > 0.8:
                level = level3
            exersize = exercises[picker]
            amount = level[picker]
            try:
                subject = f'Test'
                body = f'Do {amount} {exersize}'
                server = smtplib.SMTP_SSL('smtp.gmail.com', 465)
                server.ehlo()
                server.login(gmail_user, gmail_password)
                server.sendmail(sent_from, to, body)
                server.close()
                print('Email sent!')
            except Exception as error:
                print(error)
            time.sleep(random.randint(1500, 4800))
    time.sleep(100)

使用普通账号密码运行时会抛出如下认证失败报错:

(535, b'5.7.8 Username and Password not accepted. Learn more at\n5.7.8 https://support.google.com/mail/?p=BadCredentials jj1-20020a170903048100b00163247b64bfsm7655137plb.115 - gsmtp')

操作步骤

  • 进入谷歌账号安全设置页面,为账号开启双因素认证
  • 双因素认证生效后,在同一安全设置页面生成应用专用密码
  • 将原代码中gmail_password变量对应的账号普通密码,替换为生成的16位应用专用密码,其余业务逻辑无需改动,即可正常通过SMTP协议发信。

内容的提问来源于stack exchange,提问作者AlbinoRhino

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 21:48:14