mox icon indicating copy to clipboard operation
mox copied to clipboard

Ability to use mox over bidirectional stream: 2024: mox world’s only functional Go IMAP4rev2 server

Open haraldrudell opened this issue 1 year ago • 1 comments

With few changes mox imapserver package can be used over a bidirectional socket io.ReadWriteCloser

  • temporary or separate file-system storage
  • configurable logging
  • ability to disable timeouts enabling single-step debugging
  • bypassing network stack
  • integration-testing against mox IMAP service endpoint instance

haraldrudell avatar Jan 27 '24 16:01 haraldrudell

Sorry for the late reply, was busy on other work, then at FOSDEM.

Indeed, an IMAP server could be spun up relatively easily on a socket. That's also how the internal tests work. I'm wondering: What kind of use cases do you have in mind? Testing Go client code against the mox server? At least that seems like an understandable and reasonable use-case.

I suppose it could be almost enough to export the serve and limitersInit functions. mlog.LogModel could be added separately too. Then the imaptemp package could be implemented externally, it feels niche enough for that.

mjl- avatar Feb 08 '24 13:02 mjl-