4.6k 词
最近和 @Rockchin 合资购买了一个位于日本东京的 4C8G 的高性能 VPS,用于部署一些服务。在这里记录一下自己搭建邮件服务器的过程。 0x01. SMTP、IMAP、POP3 协议 SMTP(Simple Mail Transfer Protocol)是用于发送邮件的位于应用层的协议,使用 TCP 协议作为传输层协议,端口号为 25。SMTP 协议规定了很多命令,它告诉客户端或服务器要采取什么操作及如何处理任何伴随的数据。比如 HELO:客户端向服务器标识自己 MAIL FROM:指定邮件的发件人 RCPT TO:指定邮件的收件人 DATA:发送邮件内容 QUIT:结束会话 客户端与服务器建立 TCP 连接后,客户端会首先发送一条 HELO 命令,然后服务器会返回一条 250 OK 命令,表示连接成功。可以使用 telnet 命令测试 SMTP 服务器是否正常工作: 1telnet smtp.idoknow.top 25 连接成功后,输入 HELO 命令。 1234567Trying 45.137.180.174...Connected to smtp.idok...
2.5k 词
前言 GitHub Workflow 是一个非常强大的工具,可以帮助我们自动化很多工作,它能够在检测到我们推送的提交、合并请求等事件时,自动新建一个虚机来执行我们预先编写好的脚本。 我的很多项目都使用了这个功能来帮助我执行自动化流程,比如这篇博客的渲染就是由 GitHub Workflow 来完成的。在我推送 Markdown 格式的博客内容后,它会首先签出到我最新的提交,然后调用 hugo 的工具链来渲染成 HTML 页面,然后将打包好的文件夹压缩,通过 scp 指令发送到我位于日本东京的生产服务器 tokyo-neko 上,再执行相关操作后,网站上就会显示我写的博文——整个流程小于 1 分钟。而我要做的,只是专注于写作,然后 git push。 此外,我使用它来自动发布 hugging-face-api的新版本到 PyPi 平台上,以及自动构建 AstrBot Docker 镜像。 而本篇文章要记录的,就是由于对 GitHub Workflow 中某个插件的不熟悉导致的 AstrBot Docker 端更新业务的大规模异常。 问题的发现 起因是群里有部分用户反馈 Dock...