今天我写了一篇实用的文章,重点是教你如何免费搭建一个邮件服务器,这个服务器不仅可以用于发送邮件,还可以供我的待办机器人使用。一开始我试图找一些免费的 API 接口来实现这个功能,但遗憾的是,并没有找到合适的。对于程序员来说,能自己动手实现绝对是最好的选择,幸运的是,我有一台空闲的服务器可以利用。如果你没有自己的服务器,可以考虑购买一些付费接口来实现这个功能。不过,如果你已经有服务器或者想要搭建一个,不妨看看我的这篇文章,我保证你在5分钟内就能成功搭建好邮件服务器。
在进行这个项目之前,确保你具备以下必备条件:一台运行 Linux 操作系统的服务器(不需要很高配置,只要能跑起来就可以)、安装了宝塔面板、对 Linux 相关知识有一定了解、安装了 Redis 数据库、有一个域名以及相应的 SSL 证书。这些条件是确保项目顺利进行所必需的。
在这个项目中,我使用的是之前在腾讯云购买的轻量应用服务器,它自带了宝塔面板。这台服务器也是我之前在抢购活动中薅羊毛时买的,是最便宜的入门级服务器。
薅羊毛入口:https://curl.qcloud.com/28seFIC3
在安装宝塔邮局插件之前,首先需要确保已经安装了 Redis 服务,并且设置了相应的密码。这个步骤是必需的,
接下来,您可以打开宝塔面板并进入宝塔应用商店,然后直接搜索并安装所需的邮局插件。
安装完成后,当您进入设置界面时,系统将提示您执行环境修复,该步骤涉及依赖环境的安装。
然而,Rspamd的修复一直无法成功完成,因此需要您自行执行以下命令进行修复操作:
curl https://rspamd.com/rpm-stable/centos-7/rspamd.repo > /etc/yum.repos.d/rspamd.repo # For Centos-7
rpm --import https://rspamd.com/rpm-stable/gpg.key
yum update
yum install rspamd
顺利安装Rspamd。
这项服务在各大云厂商平台均有提供,我选择了直接在腾讯云进行域名解析,并申请了SSL证书。
在成功申请证书后,接下来需要将证书下载到您的电脑上。稍后我们会用到这些证书。
在进行进一步配置之前,请确保您已经正确设置了域名解析,将您的邮箱域名设置为A记录,并创建一个二级域名,例如 "mail" 或其他您选择的二级域名。
完成域名解析后,您只需将已解析的域名添加到邮局域名内即可。然后,按照教程逐步解析 MX、SPF、DKIM 和 DMARC 记录。接着,转到 SSL 部分,将您下载的证书复制粘贴到相应位置即可。请耐心等待域名解析生效的时间。
在新增邮局用户时,请确保密码符合要求,即密码的第一位必须是大写字母,后跟小写字母和数字的组合。另外,请注意邮箱地址不能包含大写字母。此外,您可能需要查阅相关的 HTTP API 文档,以备后续使用。建议您提前下载这些文档。
到这里基本上就配置完了。
接下来,我们将在插件商店中,开始创建我们自己的插件。在此过程中,首先要确立插件的名称和用途,确保清晰地描述插件的功能和目的。这一步至关重要,因为插件的名称和用途将直接影响用户对其的理解和使用方式。
当我们使用小雨邮局时,左侧的工具列表让我们能够轻松地在邮局中添加多个插件,每个插件都可以独立发布。我们之前的做法是从下载好的HTTP API文档中复制代码到邮局中,这一过程非常简单。最后,我们的Python代码可能需要使用request包,所以我们只需在左侧的依赖包列表中下载所需的包即可。而右侧的测试代码填写部分也十分直观易懂。
在这一步,我们需要确保将所有可变参数都事先存储到元数据中。如果你需要插件的输出参数,那么你也需要相应地进行维护。如果没有必要使用这些参数,可以选择不维护,但是请注意,在工作流或其他地方可能无法引用到插件的结果。
务必记住,无论你要发送的内容是什么,都需要进行内容扩展。不要简单地写一个简短的短语,例如“test”,因为这样的内容很可能会被其他邮箱系统归类为垃圾邮件。
通过亲手动手实现,你不仅更深入地了解了邮件服务器的工作原理,也锻炼了自己解决问题的能力。你还可以根据自己的需求对邮件插件进行定制,使其更好地适应你的需求。
一旦完成插件的搭建,它将不仅仅用于当前项目,还将被整合到我的小雨待办机器人中,以进一步提升其功能和效用。
我是努力的小雨,一名 Java 服务端码农,潜心研究着 AI 技术的奥秘。我热爱技术交流与分享,对开源社区充满热情。身兼腾讯云内容共创官、阿里云专家博主、华为云云享专家等多重身份。
🚀 目前,我的探索重点在于 AI Agent 智能体应用,我对其充满好奇,并不断探索着其潜力与可能性。如果你也对此领域充满热情,欢迎与我交流分享,让我们共同探索未知的领域!
💡 我将不吝分享我在技术道路上的个人探索与经验,希望能为你的学习与成长带来一些启发与帮助。
🌟 欢迎关注努力的小雨!🌟
路由链(RouterChain)是由LLM根据输入的Prompt去选择具体的某个链。路由链中一般会存在多个Prompt,Prompt结合LLM决定下一步选择哪个链。
LangChain几乎是LLM应用开发的第一选择,它的野心也比较大,它致力于将自己打造成LLM应用开发的最大社区。而LangChain最核心的部分非 Chain 莫属。