是否有可能在收到的电子邮件上触发 shell 脚本?是否可以在没有 dovecot、postix 等服务的情况下完成?

是否有可能在收到的电子邮件上触发 shell 脚本?是否可以在没有 dovecot、postix 等服务的情况下完成?

这个问题更多是为了学习目的。

我正在探索开发小型电子邮件服务器(输入 + 输出)的方法。

我有一个指向我的服务器的域名以及 mx 记录和所有这些东西......

我还打开了端口 25、26、110、993、995、143、465....

我想在收到电子邮件时激活一个 shell 脚本。

我运行 apache + php 没有任何问题。我在浏览器上输入我的域名 => 我可以从任何地方看到我的页面。(这部分已经完成)。

我不清楚从哪里开始...

我搜索时发现有很多东西

我尝试过dovecot,,mailhog但是exim在启动和运行它们时遇到了困难。

我的问题是:“有没有办法监听端口 x 上的电子邮件 => 当电子邮件到达时 => 执行脚本(以最原始的形式)”?

答案1

你可以先阅读RFC 5321RFC 5322定义 SMTP 协议和电子邮件消息格式。完成这两个之后,您可以继续阅读其他与电子邮件相关的 RFC

当你熟悉了要跳进的兔子洞的深度后,你可以尝试Python 简单 SMTPD(已弃用)或艾欧斯姆特普.你还需要电子邮件解析器解析收到的电子邮件并提取文件。

对于“是否有可能在收到的电子邮件上触发 shell 脚本,是否可以在没有 dovecot、postix 等服务的情况下完成?”这个问题的答案是这里这里(实际上,我误读了问题,写成了“带后缀”而不是“不带后缀”,但我还是会保留链接)

相关内容