Commit Graph

23 Commits

Author SHA1 Message Date
Guilherme Rugai Freire
8ef8cf75ef
sanitize html with bluemonday 2024-07-10 17:31:09 -03:00
Guilherme Rugai Freire
36f8ff684a
remove todo: "Use an DB other than sqlite"
for a small project, sqlite is a good fit
2024-07-10 17:00:16 -03:00
Guilherme Rugai Freire
48e7b5a9a5
integrate web and mail server
now, there is only one binary that starts both servers,
making them use the same SQL connection.

this commit also added some `defer tx.Commit()` to ensure
all the transactions were closed
2024-07-10 16:56:46 -03:00
Guilherme Rugai Freire
52b3fa61ca
style web pages 2024-07-10 16:02:03 -03:00
Guilherme Rugai Freire
f1190e9892
fix run-web.sh to not leave any process hanging 2024-03-19 11:47:39 -03:00
Guilherme Rugai Freire
bf21d05b6d
refactor web_server code
- Move mail functions to its own packages;
- Move bigger router functions to its own functions, and separate
  router creation from main function;
- Edit the algorithm that choses the format will be chosen with
  regards to format preference to a simples one.
2024-03-19 11:30:25 -03:00
Guilherme Rugai Freire
f547eb161e
change run-web.sh to restart to pkg/ changes 2024-03-19 11:30:10 -03:00
Guilherme Rugai Freire
5e0e362e47
add TODOs 2024-03-19 10:37:55 -03:00
Guilherme Rugai Freire
ddcf9dea62
add separate page for viewing the email 2024-03-18 15:47:15 -03:00
Guilherme Rugai Freire
3d33831803
url param to set mail format 2024-03-18 15:12:45 -03:00
Guilherme Rugai Freire
b2a85dd3f8
add MIME email rendering
This commits adds support for rendering email in text/html,
text/markdown and text/plain inside a MIME/multipart mail.

Bluemonday was added as a dependency and initialized but it is still not
used because the styling of the email is "discarted" too much. But this
needs to be fixed before going to production.
2024-03-16 18:12:06 -03:00
Guilherme Rugai Freire
f4407d71f8
render inbox as html instead of json 2024-02-20 18:02:30 -03:00
Guilherme Rugai Freire
95252f12f5
add index page and button to generate random inbox 2024-02-20 17:59:47 -03:00
Guilherme Rugai Freire
c0c1ba4c08
add to end webserver process to run-web.sh 2024-02-20 17:55:37 -03:00
Guilherme Rugai Freire
40900f3112
add templ and initial frontend code 2024-02-20 16:13:44 -03:00
Guilherme Rugai Freire
e07aeea312
add Makefile 2024-02-20 14:22:11 -03:00
Guilherme Rugai Freire
ed82c38af4
add script to delete old mail
currently, the script is hardcoded for emails older than 1 day

this is a script because it is a simple operation and probably will be
called by a cronjob
2024-02-20 02:09:46 -03:00
Guilherme Rugai Freire
4ed9c46923
add route to list rcpt_addr's mails as json 2024-02-20 01:56:39 -03:00
Guilherme Rugai Freire
43a8d7addf
remove useless port checking from mail server 2024-02-20 01:08:39 -03:00
Guilherme Rugai Freire
5767f9d594
add simple web server 2024-02-20 01:08:13 -03:00
Guilherme Rugai Freire
6e0e577916
make mail server addr and port dinamically via env 2024-02-20 00:45:32 -03:00
Guilherme Rugai Freire
7e8327fd0d
remove inboxes table and add arrived_at column
there is no current need to have a separate table for keeping track of
the inboxes, since all emails are getting stored upon arrival and anyone
can access all mails from any rcpt address.

also, added a arrived_at column, as a utc unix timestamp. This serves
the obvious reason to have a ts on an email, but also allows this
service to delete old mail.
2024-02-20 00:42:00 -03:00
Guilherme Rugai Freire
369115d781
initial commit 2024-02-18 01:26:53 -03:00