Update On Groovy Email Server 002

Here is another update on the Groovy Email Server.

After I made the last update, it stopped working. For some reason, I could retrieve messages in Alpine, yet not look at the bodies of the messages. I could view the headers. I was able to figure it out, and now I can retrieve the messages in Alpine again.

I send myself a message with a text file as an attachment, and I was able to save it.

I also tagged the git repo. I did not tag it the last time I posted, so I wasted some time downloading old versions from github to see when things were okay.

For some reason, I cannot retrieve the messages with Thunderbird. I will try another client later.

You’re welcome.

Update On Groovy Email Server

I know I said I was going to shelve the Groovy Email Server. Instead, I kept working on it. I will probably keep at it until I get it to a semi-finished state. Right now it is in a semi-semi-finished state.

Right now I have implemented most of RFC 1939 (POP3) and RFC 5231 (SMTP). (I do not plan on implementing RFC 3501 (IMAP).) I can send email from another account to my GES, and I can retrieve them locally using Alpine. So far I would call it pretty successful.

I have not tried to retrieve messages with attachments. I have not looked at RFC 5232 (Internet Message Format), which may cause problems down the line. I have not tried to send messages while logged into Alpine.

I have written this using PostGres. I have the tests actually writing to the database. I know a lot of test purists will object, but I saw an article linked from Hacker News: Don’t test with SQLite when you use Postgres in Production. One of the comments was a quote (supposedly from NASA): Test what you fly, fly what you test. Maybe it’s not the absolutely best way to test and develop, but as Voltaire wrote: Do not let the perfect be the enemy of the good.

I have to update the README on github. I think I will try to get it to a point where I can also send from Alpine. I might go further than that, and try to get it to the point where I can replace my Apache James server. We shall see.

You’re welcome.

Shelving Groovy Mail Server

I am shelving the Groovy Mail Server for the time being.

I did not think it would be easy, but it is turning into a lot more work than I thought. I am also having issues with some stuff in Postgres. I want to learn Clojure, and lately I have been getting impatient to do something there. There seems to be more activity in the Clojure community, and I think the Clojure job market will hit a critical mass faster than Groovy will. I think I might start with the tutorial on the Luminus site.Besides, I am more likely to get a job making web apps than writing mail servers.

Granted, I said a few times I was done with Groovy Validators, and then later I came back and improved it.

You’re welcome.

2015-08-10 Tweets

2015-07-27 Tweets

2015-07-27 Update

I took some time off work to see family on the East Coast. Now I am back in front of my computer again.

I am still working on my Groovy email server. Just getting one RFC done is taking a long time.

I have talked about working on a Grails tutorial. It looks like there is some progress on porting the Shiro plugin to Grails 3. I will try it out and see what happens. If I make a tutorial, I think I would need to run it on a static site. I will also look into static site generators, like Grain or JBake.

After I get done (or closer to done) with the mail server (or at least RFC 5321), I will spend some time with Clojure. I found an article on programming on HuffPo (via hacker News) with a link to a page by the author that advocated functional programming (without using the word “functional”). It is looking like that might be the way to go.

You’re welcome.