Node API that handles the processing and sending of form data over SMTP to a POP/IMAP mail server.
- Built to work with Platframe's client-side
form
module, but can work as a client-agnostic service. - Service multiple clients/sites.
- Support for multiple forms per client, each paired with an email template.
- New clients are added in a declarative manner with YAML configs.
- Author email templates in Pug.
- Includes a basic CSS reset for email clients.
- Built-in support for Google™ reCAPTCHA v3.
- Relatively small dependency footprint.
- Clone or fork this repository
- Remove the
.sample
portions of the configuration files in thesettings
directory and amend them to suit your setup - This service requires Node
≥14
. Runnvm use
in the project root if you usenvm
- Run
yarn install
to install the required dependencies - For local development and testing your configuration, run
yarn develop
and visitlocalhost:3030
- You can test your email configuration with by running a local copy of Platframe with an active
Form
instance
- Upload or clone your customized service to a Node server running at least
v14
- Configure your particular server to deal with any proxying or SSL certification, etc
- Run
cd path/to/your/service-forms/ && yarn install && yarn deploy
Note that while it is being used in production, this service is still in an early stage of development.
Contributions are welcomed and encouraged — irrespective of experience.