我开始以为这不是个问题,后来折腾了好久,发现有些端倪要指出来。
原生客户端
说在前面: 我这里谈的都是手机端,Mac/Pc 端不在本文论述之内。
因为我是深度 macOs/iOS 用户,再加上我 对比过 QQ Mail客户端, Gmail客户端, 原生客户端,发现还是原生客户端的效果最好。虽然同一主题邮件的关联方面 Gmail 也做得很好,虽然 QQ Mail 的回复格式上比其他两者都好(原生的回复格式惨目忍睹,要自己配置),但是在苹果生态系统里,这根本不是问题。因为:
在 mac 下高效工作打的是组合拳(无缝配合): 备忘录 + 提醒事项 + Mail + 通讯录 + 日历
因为苹果的软件已经在这套”拳法”中做了很好的协调,组合用起来非常高效。
于是下面,为了把 Gmail 添加到原生客户端 Mail 账户中,做了很多折腾。(省时间,请直接看解决方案)
配置账户
最初,为了和原生的软件比如通讯录啊,备忘录啊配合使用,肯定是要去添加账户的,而不仅仅是添加邮箱账户。
然后按照步骤添加,到最后一步出现这样的情况:
试了好几遍,都是这么个情况。
(期间,我的 google 账号添加了两步验证,所以会有要求输入短信密码的环节)
然后去 google 了一下,发现 v2ex 有人碰到过类似的情况:
人在墙外,最近原生邮箱里的 Gmail 无法正常接收邮件,于是手动删除账号重新添加,但是输入密码后添加到最后一步(选择同步邮箱,联系人, note 等)时突然自己跳回选择邮箱的界面。
连接地址: iPhone 原生邮箱无法添加 Gmail 账户,求助
有的解决了,有的没有;不过仔细看发现,解决的人也只是暂时解决了:
到底问题出在哪里? 没办法,手动去配置邮箱吧,不要配置账户了。(姑且尝试去找原因)
配置邮箱
设置-账户与密码-添加账户-其他-添加邮箱账户
配置邮箱时,要注意这里的步骤不支持两步验证
,所以要去 google 网站申请一个 app password.
(主要是这里无法请求 web 去拿到 验证 code, 因为这里的 UI 是被设计死的)
App passwords let you sign in to your Google Account from apps on devices that don’t support 2-Step Verification. You’ll only need to enter it once so you don’t need to remember it.
地址: 申请app password,大致如下:
然后可以去设置邮箱:
之后下一步,设置收发件的服务器:
- 收件 pop 或者 imap 随便哪一个
imap.gmail.com
,pop.gmail.com
- 发件 smtp
这里就非常坑爹了, 注意,收件你选哪个设置好,都是没有问题的,关键是在发件上。
以 pop 为例:
然后开始坑爹了.
发件服务器
首先我使用的梯子是可以访问 Gmail,为什么会出现 SSL 问题?
首先走自己的发件服务器不行么?例如你去试试 QQ 邮箱的代收功能:
对方服务器选择接收你这个发件服务器的邮件,需要信任。那什么信任? 证书验证。
而你通过它的服务器发件(这里客户端通过 stmp 协议让Gmail服务器发件),也需要认证,不仅仅是提供 gmail 账户密码。
Gmail 很特殊!因为它的认证是通过 SSL 协议访问的。
当然,原生的 iOS 没有提供这个 SSL 表单项,网友说要额外借助域名。。。
什么域名?
域名就是 gmail-smtp-msa.l.google.com
或者 gmail-smtp-in.l.google.com
直接写 IP地址 也行:
结果呢?
N次尝试的结果都失败了。
自己手动添加 ssl 表单项? 失败。
解决方案
其实网友的论述是不靠谱的。
如果一个邮件客户端,它不带有 SSL 表单项,要么你去做一个补丁给它发送邮件的时候补上这一项(
技术要求高
),要么选择一个带有 SSL 表单项的客户端。就像上面 QQ 说的那样,让 QQ 服务器代发
。或者你像我现在的做法: Gmail 单独的使用原始客户端
QQ里面设置 Gmail 账户也OK,因为 QQ客户端 做了兼容 SSL 项—只要你能访问google的话, 你就能正常收发。
如果我们上面按照配置设置了 smtp,很可能的结果是:能够收件,但是不能发出邮件.
仔细一看但这违背了我们组合拳的本意,但是事情没有十全十美的,都是取舍,你说呢?
(或许有的朋友今天配置 smtp 成功了,但某一天Google发件服务器不接收这类不安全的客户端,怎么办?).
Merlin 2018.2 N多时间折腾了一下 Gmail; 不做钻牛角尖的人,折中的解决方案适当考虑