Ask HN: Non-SMTP single server internal mail system?
Hi HN,
I'm building a project that needs to have an "internal" mail system for users to communicate between each other on a website.
It will never route to the outside world (think "messages" that you would send on a dating site).
The scale is very small (less than 500 users).
I'm sure that there must be a number of projects floating around on GitHub that fulfill this purpose.
The best option at this point seems to be using something like phpBB and disabling all forums. Surely that is overkill for such a simple requirement?
42 comments
[ 2.7 ms ] story [ 112 ms ] threadAssume for the moment you created mailboxes for each user, assume you have two users "Alice" and "Bob". If Alice wanted to send a message to Bob you certainly could send an email to a local SMTP-server via an address like "Bob@mail.local". Then when Bob logged into your site you could poll that mailbox via IMAP/POP3 and retrieve the message.
But really it would be far simpler to just query a database, avoiding the overhead of needing to speak IMAP(S)/POP3(S). Especially if your site is dynamic already and needs to use a database.
Sure use outgoing SMTP to send an email to the real-address of a member "You've got a message from Alice".
https://news.ycombinator.com/item?id=17798756
But the main problem with this is that the users will be non-technical and I think chat would be a bit of a confusing medium for the kind of communication we're trying to achieve.
That aside, there's something Linus once said that I love:
“If you think your users are idiots, only idiots will use it.”
For example, a mailbox matches the MongoDb Collection model well.. it's a file on a disk (so there is no outer index on username needed - filesystem will do it) and you can specify which inner index(es) you would like, probably time. Storing auto-assigns internal 128bit uuids that you can use to refer to a specific message.
If you're allergic to mongo you can do this in pretty much any document store. Hell you can do it in a simple SQL table but you will have to deal with outer index (which may or may not be a problem for you).
https://news.ycombinator.com/item?id=17798756
I'm really hoping that there is some "off the shelf" open source package that I can install.
[1]: http://www.pmail.com/index.htm
http://deadsimplechat.com/
Code here:
https://github.com/mlakkadshaw/SImple-Chat-Server
https://news.ycombinator.com/item?id=17798834
Chat would not really be an appropriate solution.
https://sendbird.com/ https://pusher.com/chatkit
https://news.ycombinator.com/item?id=17798834
Since you talk about phpBB it sounds like you just want something users can log on to and do it, not necessarily tightly integrated in something else.
I feel like I'm missing something.
http://writeinthemargins.org/sensitivity-readers/
(although we will be funded through a government program and not charge either party). Note that they have deleted the google docs spreadsheet that they referred to as a "database". I suspect that having the real name and direct email address for their professional readers publicly available did not end well for them :)
If we have a setup such as you describe, it would accept sending to email addresses outside the "local" domain and then users would get bounce messages (silently failing would be just as bad). I need users to immediately see on login that this is not "normal" email. They should only be able to send messages to the users that they have been "connected" to as part of the application process.
Is it for a web application ?
https://news.ycombinator.com/item?id=17798756
You may have some luck with looking for a messaging library of some kind, instead of a mail platform. Not too email based, not too IM based, and not too social.
Instead of paring down phpBB, something like discourse may be easier to pare down, or fit outright. https://www.discourse.org/
Still, if I was looking for a github project that was very clean and simple.. it might be a one table message queue solution for this, where it has date-time/from/to/content/status columns, I'd almost wonder if it wouldn't be quicker just to implement than to find something and integrate.
If there's any chance the messaging functionality had to grow, I'd try to find an xmpp based messaging library that had a message store in it instead of IM - this would give me a migration/upgrade path to other features, and standardize if needed.
https://news.ycombinator.com/item?id=17798756
I think attachments would be almost a requirement, given that users would need to pass manuscripts backwards and forwards (although I suppose encouraging people to use google drive instead is not out of the question).
I had a look at Discourse, but it seems heavily geared towards forums rather than 1 to 1 email.
Your other suggestions require a bit too much development for my skill levels (I'm a sysadmin, not a dev).
https://news.ycombinator.com/item?id=17798834
It sounds simple to reimplement, but you don't consider all the inevitable extras like user management, formatting, drafts, image uploads, notifications, backup/restore, etc, etc.
Don't get stuck on an inferior solution because you didn't want 3MB of unused code on your disk.
Few care that Excel/GSheets/OCalc are huge beasts with tons of functionality that the typical user won't need. It's easier just to give people a powerful and well known product than to try to find something that doesn't do more than strictly required.
Not one option, but at least 14: https://djangopackages.org/grids/g/messaging/
Looks like django-messages might be what I need (although they don't say if they support attachments).
http://dangoldin.com/2013/05/17/adding-attachments-to-django...
Good luck!
edit: also, modern and maintained: https://github.com/bartTC/django-attachments