Handling a POST request with Elixir

I finished setting up a static website using nginx. The site has a ‘Contact Us’ form that I enabled with one of those ready-to-go solutions. I saw an opportunity here to improve my understanding of web services, since I’ve always had a hard time understanding how to approach these problems, even if in theory I understand how they are supposed to work.
In short, the website will send a form to something like api.website.com as a POST request. Afterwards, Elixir should send that message to a specified email. I don’t know how to start handling this requests, I’d be happy if someone could point me in the right direction and maybe just mention which libraries I could use.
I know HTTPoison but afaik that is a client and not a server. Should I use cowboy?

1 Like

If I understand correctly, you want to setup a server that receives the POST request from a form and sends you an email. Correct?

If that is what you need to do, and you want to give Elixir a shot, you could look into Plug for the HTTP server part, and mailman for sending email.

The most popular web application framework for Elixir is Phoenix, which is great, but probably overkill if you just want to handle this one single request, that’s why I am pointing you to Plug instead. If this is the starting point, but you want to do more, then give Phoenix a try, starting from one of the guides.

2 Likes

Thank you! Yeah I started learning Phoenix but decided to learn more about the language itself and OTP first. I think doing this will help me ease into web development. I will be using Plug and mailman as you suggested :slight_smile:

1 Like