Blue Prism中POP3/SMTP邮件发送失败,请求技术排查
我来帮你搞定这个Gmail配置的问题,你遇到的这两个错误其实都是Google安全机制和端口-SSL配置不匹配导致的,咱们一步步排查解决:
初始配置与错误情况
你的初始配置代码段:
Username: xxx@gmail.com password: xxxx POP3 Server: pop.gmail.com SMTP Server: smtp.gmail.com POP3 Port: 995 SMTP Port: 587 POP3 UseSSL: True SMTP UseSSL: True
第一次出现的错误:
"Internal: Could not execute code stage because the exception is thrown by code stage: The SMTP server requires a secure connection or the client was not authenticated"
修改SMTP端口为465后的错误:
"Internal: Could not execute code stage because an exception is thrown by code stage. Failure sending mail. - Unable to read data from the transport connection: net_io_connectionclosed"
核心问题分析
- 认证失败是根本:Gmail现在默认禁止普通账号密码登录第三方邮件客户端,必须用「应用专用密码」(前提是账号开启了两步验证2FA),临时开启「不太安全的应用访问」虽然能解决但不推荐,风险较高。
- 端口与SSL不匹配:Gmail的SMTP端口对应两种加密模式,配错就会触发连接异常:
- 587端口:使用STARTTLS模式(先建立普通连接,再升级为加密连接),直接开SSL会导致不兼容
- 465端口:使用直接SSL加密模式,必须开启SSL才能正常建立连接
具体解决方案
第一步:替换为应用专用密码(推荐)
如果你的Google账号已开启两步验证,按以下步骤生成应用专用密码替换原密码:
- 登录Google账号,进入「安全」设置页面
- 找到「应用专用密码」选项(需开启2FA后才会显示)
- 选择应用类型为「邮件」、对应设备,生成16位专用密码,将其填入配置的
password字段
第二步:匹配正确的端口与SSL配置
你可以二选一:
方案一:使用587端口(STARTTLS模式)
修改SMTP相关配置:SMTP Server: smtp.gmail.com SMTP Port: 587 SMTP UseSSL: False # 587用STARTTLS而非直接SSL,需改为False注意:部分客户端有单独的「启用STARTTLS」选项,记得勾选,确保连接后自动升级为加密状态。
方案二:使用465端口(SSL模式)
保持SMTP UseSSL为True,同时确认客户端支持465端口的直接SSL连接:SMTP Server: smtp.gmail.com SMTP Port: 465 SMTP UseSSL: True额外检查:确认网络未屏蔽465端口,部分企业防火墙会拦截该端口。
第三步:确认POP3配置与服务状态
你的POP3配置是正确的:pop.gmail.com + 995 + UseSSL: True,另外前往Gmail「设置」→「转发和POP/IMAP」,确认POP3服务处于启用状态。
错误原因复盘
- 第一个错误:要么是普通密码无法通过Gmail认证,要么是587端口搭配SSL导致加密模式不匹配
- 第二个错误:改465端口后仍认证失败(密码错误),或网络/客户端不支持465的SSL连接,导致Google主动关闭连接
内容的提问来源于stack exchange,提问作者Manish Kumar




