MailOnAPI
- 20 Devlogs
- 39 Total hours
MailOnAPI or Mail On a PI is a self hosted email server and client. It acts as a frontend for various popular mail services and is designed to run on a raspberry PI.
MailOnAPI or Mail On a PI is a self hosted email server and client. It acts as a frontend for various popular mail services and is designed to run on a raspberry PI.
Many improvements to the code and WE GOT ATTACHMENTS WORKING IN IMAP.
We added the search command and improved the code quite signifigantly.
Today we finished TLS WOOO. Now we actually have a secure IMAP server.
We’ve pretty much finished our IMAP integration, we’ve added copy and expunge today and fixed our idle handler.
I reworked the way we manage things listening in to the socket to add a proper listener module instead of having it all in the handle command function. The handle command function worked until now but now that we want commands that expect more data than just one line we do need to expand it to something more streamlined. Commands can now register listeners on the feed from the socket and remove them as they please in order for them to get the required data. We also added a few commands and Idling which allows email clients to idle instead of just sit and poll the server for new mail. I kinda changed the process buffer function so that it can dynamicly figure out if the newline is crlf or lf instead of guess and so it includes that in it’s output. Because we now have listeners we can now add the append command and it will recieve a stream of data from the listener.
I allowed our IMAP parser to be able to understand parenthasis WOO, i had to change a little bit with our fetch function because it didn’t expect that and I added some more IMAP commands our command repertoire now looks like this.
Users can now change their username, we also made many changes to the fetch function in the IMAP server to make it work properly. haha
IMAP Server WOOOOO! Today I made an IMAP server for the email server/client so it can be used with say Thunderbird. Now there’s a very very basic implementation but it’s there and you can read emails. WOO.
I significantly improved the code for mailboxes. Now we have table for mailboxes and I also made it more clear which mailbox you’re currently in. This makes it easier for me to eventually implement IMAP.
We have mailboxes now, you can move mail there and yeah.
We added custom mailboxes, you can now add and remove maliboxes but we can’t move emails there or setup filters.
Today I completely revamped the way emails are stored in the database to make it better. I also added seen checking to mark emails as read. I added mail boxes as well instead of just inbox and sent so users can have custom mailboxes.
We got replies working WOO, we can send emails, reply, recieve replies and continue on reply chains.
We got attachments working WOOO
We got viewing our sent emails working
We can send emails from a ui now WOOO
We can read our emails now.
We’ve started building the inbox, we can view our emails and see when they were sent to us.
We added the Database, AND GOT RECIEVING EMAILS WORKING WOOOO
We got sending emails, WOOO. No accounts yet but we can send emails over stmp.