webman 搭建邮局服务器

shixia

我想用webman 搭建一个类似于EwoMail的邮局系统
先说一下既然有了EwoMail为什么不直接使用,而是重复造轮子

EwoMail简介

官网:http://www.ewomail.com/
EwoMail是一个商业项目 虽然有开源版的但是项目代码开源度不够完善
如果在当前业务没有拓展的话还好
比如想增加一些API啥的虽然在开源版中也可以去自己手动实现
但是相对来说很麻烦也很复杂而且对于他的项目结构也不是非常清楚
所以我想自己制作一个邮局系统

webman 自定义进程

在webman中是可以自定义进程的 我的想法是用自定义进程去实现监听收件。然后把邮件存放到指定位置
webman自定义进程是相当于对workerman的一个简单封装那由此又引发一个问题 自定义协议 workerman中并没有监听邮件的协议 所以只能使用workerman的自定义协议

workerman 自定义协议

在Workerman中想指定协议是需要在项目目录中定义一个Protocols文件夹 那么咋webman中自定义协议难道也要在项目根目录定义一个Protocols文件夹么? 这个暂时不清楚我还没有去进行实践

总结:感觉问题很多如何自定义协议 然后我虽然知道邮局需要 IMAP协议 和 POP协议 但是我并不知道该如何去定义 没办法本人小白对于这些确实不太会 希望有大佬解答

1379 2 1
2个回答

nitron

这种需求应该是Workerman的主场, 用webman是给自己找不痛快

  • shixia 2022-04-16

    可是webman中的自定义进程不就是对workerman的封装么?那接受邮件部分就可以使用自定义进程去接受邮件然后http部分可以做管理端客户端那些,这用webman去整合这些所有功能有什么问题嘛

blogdaren

看问题还是要看本质,webman提供的的自定义进程就是对workerman的一层wrapper【或者你可以将wokerman理解为webman的一个子集也是可以的】,所以你的问题就迎刃而解了,方案就是基于高阶的自定义进程来实现:

  1. 需要在项目的根目录下创建一个Protocols目录,也就是这个目录和启动脚本同级,目录里面存放自定义协议;
  2. 接下来最关键的就是围绕邮件服务器可能所需的各种具体协议如SMTP、IMAP、POP3等等的细节实现,自行实现的话肯定是个大工程,参考相关的文献API搞吧,想必都是玩细节。
  • shixia 2022-04-16

    谢谢,我也是这样想的,可以自己慢慢学协议然后慢慢开发到时候在封装成webman的插件,也算对webman的生态进行一个提升吧

  • shixia 2022-04-16

    而且我本身就是一个半道出家的后端,我感觉学完这些可以让我懂很多

  • shixia 2022-04-16

    而且这也算站在巨人的肩膀上开发了

  • shixia 2022-04-16

    唉,看到了很多smtp协议的信息也知道了smtp协议怎么在workerman中定义出来但是感觉无从下手

  • shixia 2022-04-16

    邮局方面的知识太少了,感觉都像技术封锁一样

  • shixia 2022-04-16

    一直以为EwoMail是纯php开发的邮局,仔细看看他的文档,发现用的都是一些别人的组件,只是用php做了一个管理后台,我想知道PHP真的能做到接收邮件吗?

  • shixia 2022-04-16

    我感觉我不是第一个想做这件事的人,但是我感觉没有人觉得用php去开发这个有意义

  • shixia 2022-04-16

    感觉看不到希望想放弃了

  • blogdaren 2022-04-16

    首先我认为这和用什么语言开发没有任何关系,用C、JAVA、go等一样样的,理论上讲完全是可行的,
    邮件领域内的协议都是应用层协议,既然是应用层协议,那么socket就可以穿透,而workerman就具有这个能力,
    因为它封装了socket实现,所以你的问题焦点应该集中在邮件协议的细节开发实现部分,
    喜欢用PHP或者说用workerman来开发这种服务,显然还是得益于workerman的方便、高效和快捷;

    另外你说技术封锁?这个应该说是国内专业技术资源相对匮乏的现实吧,底层核心技术以及文献基本都是老外打底的,
    所以寻找这种专业性的技术文献还得去官方站或者多google来找,比如邮件协议的specification应该去找RFC
    https://datatracker.ietf.org/doc/html/rfc5321

    最后我感觉这是很有意义和挑战的事情,支持你搞哈。

  • shixia 2022-04-16

    感觉慢慢磨吧,有时间就弄一下
    感觉不是一时半会就可以搞定的

  • shixia 2022-04-16

    不懂的知识太多了

年代过于久远,无法发表回答
🔝