[Gmail] 介绍一个通过 Gmail IMAP 服务发送邮件的配置坑点

背景概述

近来,公司开发项目中有涉及 通过 Gmail IMAP 服务发送邮件 的需求,因此有机会做一下配置 Gmail IMAP 服务配置的工作。

工作过程中,发觉 Gmail 与一些国内常见的 Email (eg. QQ Email) 服务在配置上存在一些差异,在此,仅就当前项目介绍一个常见的配置坑点。

Basic - Gmail IMAP Service Setting

通常有人以为,至此 Gmail 配置完成了,我想说的是:
Too young, too simple.

Advanced - 2-Step Verification and App Password

好的,坑点来了。
现在简要介绍一下在 Gmail 配置中经常被忽略的两个配置点。

2-Step Verification

  • 登录你的 Google Account
  • 点击左侧导航栏的 Security
  • Signing in to Google 栏下, 点击 2-Step Verification
  • 点击 Get started
  • 根据提示完成接下来的步骤

App Password

  • 承上,返回 Security 页面
  • Signing in to Google 栏下, 点击 App passwords
  • 根据提示完成接下来的步骤
  • Select app: 选择 Mail
  • Select device: 选择 Other (Custom name),稍后可以自行设置一个便于自己识别的名称 (eg. something.com, or some server, etc.)
  • 点击 GENERATE: 生成随机 16 位 App password
  • 请确保在关闭此弹出窗口前,及时妥善保存好当前生成的 16 位 App password,因为在弹出窗口关闭后,你不会再有机会查看该 App password,切记,切记!

至此,Gmail IMAP 服务配置完成。

总结

常言道,难者不会,会者不难。Gmail 与国内常见的 Email 服务相比,存在一定的区别,有时正是这些不为我等熟知区别成为开发人员对接业务中的技术壁垒。

该帖本身的技术分量不重,笔者在创作该贴时,初衷也不过是介绍一下这个 Gmail 配置坑点,以期为其他开发人员在对接业务过程中铺平道路。

最后,附上一份简要的 Laravel .env 文件的片段,以供诸位观赏:

...
# Gmail
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=465
MAIL_USERNAME=your.gmail.account@gmail.com
MAIL_PASSWORD=your.app.password
MAIL_FROM_NAME=Your.Name
MAIL_FROM_ADDRESS=your.gmail.account@gmail.com
MAIL_ENCRYPTION=ssl
...

王笑曰:“ 圣人非所与熙也,寡人反取病焉。”

本作品采用《CC 协议》,转载必须注明作者和本文链接
夏蟲不語冰
Elijah_Wang
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 1

Connection could not be established with host smtp.gmail.com [Connection timed out #110] 链接不到邮箱服务器是啥原因

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!