今天给「島上隨筆」配好了系统邮件(评论通知、验证码、密码重置都靠它)。过程不算顺利:新浪注册卡死、163 新注册被限制,最后用已有手机号邮箱搞定;最坑的是 QQ 邮箱拦截,做了一轮对照实验才发现是「发件人中文显示名」惹的祸。记录一下完整过程,给后来者留个参考。
一、需求与选型
博客(emlog pro)需要 SMTP 发件能力,用于:
- 新评论通知(发给博主)
- 回复评论通知(发给留言者)
- 邮件验证码、密码重置等
选型标准:免费、国内投递可靠、支持 SMTP + 客户端授权码。候选有 QQ 邮箱、网易 163/126、新浪、Outlook、GMX 等。
二、一波三折的注册之路
新浪:败在验证码
新浪注册页对机房 IP 直接 403,换浏览器 UA 才打开;但图片验证码是「扭曲字符 + 干扰线」,tesseract OCR 换了好几套预处理管线(放大、多阈值二值化、中值滤波、形态学开闭)准确率依然太低,人工读码又不划算,放弃。结论:新浪对阿里云机房 IP 风控严,自动化注册不可行。
网易 163 新注册:败在易盾
163 普通注册的完整链路:用户名检查 → POW 工作量验证(改 VDF 哈希,自动化能过)→ 网易易盾弹窗验证码 → 才发真正的注册请求 register.start。易盾脚本在无头浏览器里加载失败,流程静默中断,前端只留了个埋点。
手机号快速注册倒是通了:上行短信验证(手机发 2601 到 106981630163222)已通过,但系统提示手机号已激活过「手机号码邮箱」并绑定旧账号 evkw2021@163.com,用户不想解绑手机,放弃新注册。
柳暗花明:直接用手机号邮箱
既然 18819229158@163.com 早就激活了(绑定 evkw2021@163.com),干脆直接用它:
- 重置密码:忘记密码 → 手机短信验证 → 设新密码(用户手动完成)
- 自动化登录:填账号密码 → 点登录 → 「安全手机确认」弹窗 → 点「登录」→ 进入邮箱。滑块偶发,多试几次能避开
- 开启服务:设置 → POP3/SMTP/IMAP → 开启 IMAP/SMTP 服务 → 警告弹窗点「继续开启」→ 拿到 16 位客户端授权码(只显示一次)
三、emlog 配置
直接写入数据库:
| 配置项 | 值 |
|---|---|
| smtp_server | smtp.163.com |
| smtp_port | 465(SSL) |
| smtp_mail | 18819229158@163.com |
| smtp_pw | 客户端授权码 |
| smtp_from_name | 1dao.cc(最初是「島上隨筆」,后修改,原因见下) |
| 评论通知 | 开启 |
四、QQ 拦截排坑(重点)
配置好后发测试邮件到 huaqidao@qq.com,被 QQ 系统拦截。做了 6 组对照实验:
| 编号 | 格式 | 发件人显示名 | 结果 |
|---|---|---|---|
| 1 | HTML + 链接 | 島上隨筆 | ❌ 拦截 |
| 2 | HTML(简化文案) | 島上隨筆 | ❌ 拦截 |
| 3 | 纯文本 | 无 | ✅ 收到 |
| 4 | 纯文本 | 1daocc | ✅ 收到 |
| 5 | HTML + 链接 | 无 | ✅ 收到 |
| 6 | HTML + 链接 | 1dao.cc | ✅ 收到 |
结论:QQ 邮箱拦截 163 新账号邮件的触发点,是「非 ASCII(中文)发件人显示名」。 无显示名、英文显示名、HTML、链接统统不拦,唯独中文显示名必拦。修复很简单:emlog 的 smtp_from_name 改成 1dao.cc。邮件正文里中文随便用,只有发件人显示名必须英文。
五、最终配置一览
- 邮箱:
18819229158@163.com(网易 163 免费手机号邮箱,底层evkw2021@163.com) - SMTP:
smtp.163.com:465SSL,授权码模式;IMAPimap.163.com:993;POP3pop.163.com:995 - emlog:发件人显示名
1dao.cc,评论通知开启 - 备份:服务器
/root/.163-mail-pass、/root/.163-smtp-auth、/var/backups/163-mail-20260816.md,并已发同步邮件到 huaqidao@qq.com 留档
六、经验总结
- 国内邮箱注册对机房 IP 的封锁越来越狠(新浪 403、163 易盾),用已有账号比注册新号靠谱得多
- 手机号邮箱是隐藏资源:很多人的手机号其实早已被网易/QQ 激活过邮箱,重置密码即可用
- 自动化登录 163:安全手机确认弹窗点「登录」即可,滑块偶发可重试
- QQ 拦截规则 = 新发件账号信誉 + 非 ASCII 显示名双重判定;新账号发信先用英文显示名,等信誉建立再考虑中文
- 调试邮件投递:QQ「收信查询」+ 163「发信查询」是两大神器,多组对照实验能快速定位过滤规则
—— 2026.08.16 于 島上隨筆