设置第三方邮箱客户端

每次收发邮件都网页登录很繁琐,你可能想在第三方客户端(比如手机自带的邮件 app)里操作
这依赖三种协议:POP、IMAP 协议可以收取邮件,区别是 IMAP 通讯是双向的,客户端内邮件的移动、删除可以同步给服务端,而 POP 是单向的。没有特殊需求选择 IMAP 就好。发送邮件的协议是 SMTP
第一步,进入邮箱设置,找到 IMAP (一般在客户端设置、安全设置等处)。有的邮件系统默认开启,也有的无法开启、或找不到这个选项,需要使用管理员账户开启
image.png
第二步,设置密码。有的邮件系统沿用邮箱登录密码,有的则要求额外生成授权密码
第三步,找到 IMAP 服务器的连接参数,也就是服务地址、端口号。连接参数一般在邮件系统的帮助里提供,或联系管理员获取。例如网易 163 邮箱的连接参数
image.png
SSL 是加密通信方式(也就是 HTTPS 中的 S),没有特殊需求的话,连接时都选用 SSL 端口
第四步,在第三方客户端填入参数连接。有的客户端要求你同时填入“用户名”和“邮箱地址”,两者保持一致就可以

编程发送邮件

既然协议接口已经暴露,使得第三方客户端可以收发邮件,编程必然也可以完成同样的操作
在 python 中,使用这样简单的代码就可以发送邮件

from email.mime.text import MIMEText
import smtplib

from_addr = 'name@domain.com'
password = 'your_password'
to_addr = 'to@domain.com'
smtp_server = 'smtp.domain.com'
smtp_port = 465

msg = MIMEText('Hello world!')
server = smtplib.SMTP_SSL(smtp_server, smtp_port)
server.set_debuglevel(1)
server.login(from_addr, password)
server.sendmail(from_addr, [to_addr], msg.as_string())
server.quit()

注意,如果在邮件系统中生成了授权码, password 需要填写授权码,而不是登录密码

自定义域名邮箱

有时我们想自定义邮箱域名,而不是通用的 @qq.com, @gmail.com 等。完成这点需要三步:

  1. 拥有域名,可以从各大云服务厂商、域名提供商处购买。本文不作介绍
  2. 自建或使用服务商提供的邮件服务器
  3. 将域名解析到邮件服务器

国内可选的邮件服务器有阿里企业邮箱、企业微信邮箱、网易邮箱免费版,本文测试了前两个,推荐使用阿里企业邮箱

阿里企业邮箱

首先在阿里云购买 5 年的企业邮箱免费版
image.png
进入管理界面,点击设置解析
image.png
将解析记录添加到 DNS 服务
image.png
初始化管理员账号密码后,在阿里企业邮箱登录页登录,会要求绑定手机
进入邮箱管理面板,在安全管理处可关闭双重验证,使得新员工的邮箱不需要绑定安全手机;在下方打开第三方客户端登录,使得员工邮箱可以启用 POP 和 IMAP
image.png
在员工账号管理处,可以新增邮箱,内部可设置密码
image.png
如此,你就可以拥有最多 50 个自定义域名的员工邮箱

企业微信邮箱

先说结论,如果你只有一个域名、一个微信号,使用企业微信邮箱需要手机常驻企业微信 app,并且只能维持一个员工邮箱。对比阿里企业邮箱麻烦太多
打开企业微信官网,立即注册,企业名称随便写,然后会绑定个人微信号
image.png
注册完成后,在协作-邮件-概况中,找到“启用企业邮箱”,选择“新开通企业邮箱”
image.png
输入域名,按照提示做 DNS 解析
稍加等待,协作-邮件-概况中显示邮箱域名时,说明解析已经完成
这时就可以自由添加邮箱账号了。通讯录-添加成员,此处的邮箱是指成员自己的邮箱,可以随便写。添加完毕后,该成员对应的企业邮箱账号会自动生成
image.png
然后需要下载企业微信,用个人微信号绑定,才能在网页端登录邮箱。实测即使生成了密码,也必须用企业微信扫码登录