-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Hello Dovecot Community!

I have recently written a NodeJS-based mail system that I hope to eventually 
open-source.  The
SMTP daemon (accepting inbound for delivery/relay) and queue processor (handing 
off messages
to remote MTAs for relay messages) both use MongoDB (utilizing Mongoose Schema) 
to store/queue
the messages (emails).  All of this is in-place and working.  Now, I turn my 
attention to making the emails
accessible to the end user (i.e., webmail, POP3, and/or IMAP).

I already have a working POP3+TLS daemon (NodeJS + Mongoose), though it is 
unlikely that I'll make
the POP3 service available to my users. I'm hoping to make use of RoundCube or 
other open-source
webmail clients.  IMAP provides the interface between my message store and 
webmail/user's clients.
I've chosen Dovecot (yay!) to provide this interface (as opposed to the 
nightmare of writing one from 
scratch) given that it's open source and it's extensibility via plugins.

Does the idea of providing a MongoDB-based message store sound like something 
that can be done
sole via plugins - or might this require modification of the actual Dovecot 
core?   Is support for a MongoDB
message store interesting to anyone beyond myself?   I'd be happy to share my 
Mongoose schema
(as the intent is to open source the entire project once I get it together).

I'll also need Dovecot to authenticate against my MongoDB instance.   I have a 
collection, called 
"mailboxes" that defines the username and password (hashed with ARGON2), among 
other things.
I'm imagining that custom authentication is something that can be achieved via 
plugins alone?

What does everyone think to be simpler/more appropriate:

1.  authentication plugin that connects directly to MongoDB, fetches the authen 
creds, and verifies the password via ARGON2
2.  authentication plugin that accesses a NodeJS-express API endpoint that 
provides a boolean result


>From my perspective, option (a) makes the most sense.  I consider option (b) 
>in case the plugin system doesn't
support MongoDB, or doesn't support ARGON2, or ....

Can anyone recommend any good docs/howtos on writing Dovecot plugins?  Any 
plugins' whose source might be
of interest to me (i.e., custom message store, custom auth, etc)?

Thank you for taking the time to consider these questions!  I appreciate any 
responses.  I'll make available, or
describe further, any aspect of my system if it will help.


Regards,
TJ Easter II




--
"The Information Age offers much to mankind, and I would like to think that we
  will rise to the challenges it presents.  But it is vital to remember that   
  information - in the sense of raw data - is not knowledge; that knowledge is
  not wisdom; and that wisdom is not foresight.  But information is the first
  essential step to all of these."      -- Arthur C. Clarke; 12/2003

Sent with Proton Mail secure email.
-----BEGIN PGP SIGNATURE-----
Version: ProtonMail

wsC5BAEBCgBtBYJo209sCRDKQ0X/3WTf3EUUAAAAAAAcACBzYWx0QG5vdGF0
aW9ucy5vcGVucGdwanMub3JnOD2KL5NSk5rYX75gCW+d8bYmHLJNP8m5nkVy
wnHpCHMWIQTQAEbAbK1F7TqiE2jKQ0X/3WTf3AAAChQH/iXWnG3kBM3oQpfe
Yd4Hv2TkN/iduzaXfOwWDBcUCP4Dc2YDnYR2W/6OI6hcFLaPw+RvEWe6FMvu
aik7s5wypDdQv8bNugO7FkyyooA4UYDLoffRDNIHv+vTXviAmByjywU64Qor
hNwajt+vXCuJZY21+vElXhk0Nnea62DrBhRjrVWjxEQAmj9dNSP0HG5woqcX
mCYC/PufJLbQatcortFZV5Eiq0OQCfe7C7AEtPjA+isbx2lzqTpMhcmJ87qn
95FwmMoEUuQPoLiUfrzkbBcFECFRi9EZsMhPr4vwuZLlGr49vIyzzqMgI/gX
/XJq4cu6mZ1j0Hp+N2zq1iDG55I=
=6CWa
-----END PGP SIGNATURE-----

Attachment: publickey - [email protected] - 0xD00046C0.asc.sig
Description: PGP signature

_______________________________________________
dovecot mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to