DeepFloodbeta

【AI应用教程】给收到的邮件自动添加AI内容总结

热烈庆祝DeepFlood正式启用!在此献上本站的第一篇AI应用相关的教程。

最近我给自己的邮件服务器添加了一个功能,可以给收到的邮件自动添加AI智能总结,这里简单做个分享,如果有需要的小伙伴们欢迎自行取用。

项目地址:https://github.com/Har-Kuun/mail-summarizer-stalwart

1. 邮件内容AI自动总结的服务器端实现方式

在服务器端实现邮件内容的AI自动总结其实并不困难。众所周知,SMTP入信流程分为下面的几个阶段:Connection, EHLO, AUTH, MAIL FROM, RCPT TO, DATA 以及最后的投递。其中,邮件的正文内容是在DATA阶段进行传递的。因此,我们只需要在DATA阶段截住入信,将内容请求API获得总结,并且将生成的AI总结添加到邮件正文内容的头部即可。

下面是示例。

image

对于传统的邮件服务器,比如基于Sendmail或者Postfix的各类邮件服务器,邮件正文内容的修改可以通过Milter协议实现。这里贴一个基于Python的Milter库,如果读者感兴趣,可以自行实现这个功能。https://pymilter.org/

如果您和我一样使用的是Stalwart Mail Server, 那么Stalwart提供了基于HTTP协议的MTA Hook功能,可以更方便地实现DATA stage的内容修改。Stalwart Mail Server是我最推荐的适合个人和团队部署的邮件服务器系统;如果您也想尝试, 可以参考我的部署教程

2. 具体的实现与使用方法

这里,我直接用最简单的PHP写了一个MTA Hook, 实现了邮件自动添加AI总结,具体的代码我就不贴出来了,您可以去我的Github查看,也欢迎星星叉叉。(https://github.com/Har-Kuun/mail-summary-stalwart) 使用之前请填入您自己的API, 并且按照自己的需求修改提示词(比如,如果您需要生成中文的总结,就需要相应地修改提示词)。

如果您需要自行用其他语言实现,需要注意的有以下几点。

(1) 入信与出信的区分。对于MTA来说,本身并不能直接区分邮件是收信还是入信。显然,我们不希望给发出去的邮件添加自动AI总结,因此需要在MTA Hook中判断待处理的邮件是收信还是入信。判断的方式很多,比如收信地址、发信IP、验证信息等等。

(2) Plain Text与HTML邮件的区分。收到的邮件可能是基于Plain Text的,也可能是基于HTML的,需要使用不同的方式添加生成的AI总结。

写好MTA Hook之后,直接在Stalwart中接入,就完成了这个全自动的收信AI智能总结啦。

image

博客原文链接:https://qing.su/article/automated-email-content-summary-stalwart.html

如果觉得有意思的话可以帮帮点个鸡腿或者收藏,感谢 yct017 yct019 yct001

12
  • @花火 #3 发布于2025/9/29 00:29:54
    好帖好帖,楼主鸡腿先欠着(忙着升二级,回头一定补上 yct017 先收藏了

    @shc #0
    楼主,我来报恩了 yct019 我来补鸡腿了

  • 哇我刚发完帖子问(虽然有点水)但是大佬牛

  • 支持

  • 好帖好帖,楼主鸡腿先欠着(忙着升二级,回头一定补上 yct017 先收藏了

  • 好贴

  • @Zhu2007hongyu #1 发布于9/28/2025, 9:28:50 AM
    哇我刚发完帖子问(虽然有点水)但是大佬牛

    感谢支持 yct001

  • @花火 #3 发布于9/28/2025, 9:29:54 AM
    好帖好帖,楼主鸡腿先欠着(忙着升二级,回头一定补上 yct017 先收藏了

    感谢感谢 yct001

  • 谢谢分享

  • 好贴

  • 好,收藏了

  • 捞一捞 yct007

12

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有13151位用户

🎉欢迎新用户🎉