Status | Usage | Tooling | Security | Support |
---|---|---|---|---|
ATTENTION: VERSION 2.0.0 HAS BEEN RELEASED. THIS IS A MAJOR SERMVER VERSIONING UPDATE AKA INCLUDES BREAKING CHANGES. PLEASE BE AWARE AND DON'T HESITATE TO REACH OUT IF YOU ARE EXPERIENCING NEGATIVE SIDE-EFFECTS FROM THE LATEST UPDATE.
git clone
this repository
cd express-smtp-mailer
to enter root directory
npm install
to acquire the node_modules
code .
to open VS Code (or your favorite editor)
create a new .env
file in the root directory
use the process.env
variables defined in the .env.example
and ./routes/mailrouter.js
files to setup authentication
for development and testing, create an Ethereal account and enter the credentials of the testing account (if desired)
process.env.SMTP_DEV_EMAIL=''
process.env.SMTP_DEV_PASSWORD=''
for production, you need to create a project on Google Cloud Platform, create an internal project, authorize the Gmail API, and then establish a connection with your Google account. You can authenticate using OAuth 2.0 via the Google API Playground, and once you perform the initial authentication and accept the request permissions, Nodemailer will take over and automatically renew your login so it doesn't actually expire in production.
clientId: process.env.CLIENT_ID,
clientSecret: process.env.CLIENT_SECRET,
refreshToken: process.env.REFRESH_TOKEN,
accessToken: process.env.ACCESS_TOKEN,
go back to the terminal and run npm run dev
it should print out the following lines
Node dev server: listening on port 5000
Ready to send mail!
verify full functionality by replacing './frontend/frontend.js'
with your own API routes and linking them to the endpoints defined in ./routes/mailrouter.js
and ./server.js
and there you have it!
a deployment-ready express smtp mail server