这个问题更多是为了学习目的。
我正在探索开发小型电子邮件服务器(输入 + 输出)的方法。
我有一个指向我的服务器的域名以及 mx 记录和所有这些东西......
我还打开了端口 25、26、110、993、995、143、465....
我想在收到电子邮件时激活一个 shell 脚本。
我运行 apache + php 没有任何问题。我在浏览器上输入我的域名 => 我可以从任何地方看到我的页面。(这部分已经完成)。
我不清楚从哪里开始...
我搜索时发现有很多东西
我尝试过dovecot
,,mailhog
但是exim
在启动和运行它们时遇到了困难。
我的问题是:“有没有办法监听端口 x 上的电子邮件 => 当电子邮件到达时 => 执行脚本(以最原始的形式)”?
答案1
你可以先阅读RFC 5321和RFC 5322定义 SMTP 协议和电子邮件消息格式。完成这两个之后,您可以继续阅读其他与电子邮件相关的 RFC。
当你熟悉了要跳进的兔子洞的深度后,你可以尝试Python 简单 SMTPD(已弃用)或艾欧斯姆特普.你还需要电子邮件解析器解析收到的电子邮件并提取文件。
对于“是否有可能在收到的电子邮件上触发 shell 脚本,是否可以在没有 dovecot、postix 等服务的情况下完成?”这个问题的答案是这里和这里(实际上,我误读了问题,写成了“带后缀”而不是“不带后缀”,但我还是会保留链接)