C#中SMTP连接Gmail失败:需应用专用密码,如何设置?
关于Gmail应用专用密码的解释与设置步骤
什么是应用专用密码
应用专用密码是Google为开启了两步验证的账号提供的特殊密码,用于不支持两步验证验证码输入的第三方应用(比如你用MimeKit编写的邮件发送程序)。它能让应用安全访问Google账号服务,无需泄露你的主账号密码。
如何设置应用专用密码
前提条件
你的Google账号必须已开启两步验证,未开启的话先去账号安全设置中完成开启。
设置步骤
- 登录Google账号的安全设置页面,找到「登录Google」板块下的「应用专用密码」选项
- 输入你的主账号密码完成身份验证
- 在「选择应用」下拉菜单中选「邮件」,「选择设备」下拉菜单中选对应设备(或选「其他」自定义名称,比如「邮件发送程序」)
- 点击「生成」,系统会生成一个带空格分隔的16位密码(使用时空格可保留或去掉)
- 复制该密码,替换你代码中的
"mypassword"字段即可
代码补充说明
你的代码中emailClient.SendAsync(emailToSend)是异步方法,直接调用未等待会导致可能在邮件发送完成前就断开连接,建议修改为:
await emailClient.SendAsync(emailToSend);
同时确保包含这段代码的方法带有async修饰符,返回Task类型。
内容的提问来源于stack exchange,提问作者Modestas Vacerskas
相关产品推荐
相关产品推荐

