{"id":14957635,"url":"https://github.com/killshot13/express-smtp-mailer","last_synced_at":"2025-05-02T07:32:17.662Z","repository":{"id":37016186,"uuid":"309267384","full_name":"killshot13/express-smtp-mailer","owner":"killshot13","description":"A production-ready Node backend with an Express SMTP mail server configurable for use with contact forms, subscriptions, etc.","archived":false,"fork":false,"pushed_at":"2024-03-27T20:14:30.000Z","size":1125,"stargazers_count":40,"open_issues_count":18,"forks_count":17,"subscribers_count":0,"default_branch":"main","last_synced_at":"2024-10-29T23:14:56.977Z","etag":null,"topics":["backend","backend-services","express-js","gmail-smtp","node-js","nodejs","nodemailer","production-ready","smtp-mail","smtp-server"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/killshot13.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["killshot13"],"custom":["https://paypal.me/safethishome"]}},"created_at":"2020-11-02T05:27:54.000Z","updated_at":"2024-01-10T03:04:40.000Z","dependencies_parsed_at":"2024-02-08T02:23:46.923Z","dependency_job_id":"1aeb8102-40d4-47b5-8288-c4d7011067a2","html_url":"https://github.com/killshot13/express-smtp-mailer","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/killshot13%2Fexpress-smtp-mailer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/killshot13%2Fexpress-smtp-mailer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/killshot13%2Fexpress-smtp-mailer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/killshot13%2Fexpress-smtp-mailer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/killshot13","download_url":"https://codeload.github.com/killshot13/express-smtp-mailer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224305842,"owners_count":17289446,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backend","backend-services","express-js","gmail-smtp","node-js","nodejs","nodemailer","production-ready","smtp-mail","smtp-server"],"created_at":"2024-09-24T13:15:16.384Z","updated_at":"2024-11-12T16:04:08.762Z","avatar_url":"https://github.com/killshot13.png","language":"JavaScript","funding_links":["https://github.com/sponsors/killshot13","https://paypal.me/safethishome"],"categories":[],"sub_categories":[],"readme":"# express-smtp-mailer\n\n***\n\n| Status | Usage | Tooling | Security | Support |\n| :----: | :---: | :-----: | :------: | :-----: |\n| [![Build Status](https://travis-ci.com/killshot13/express-smtp-mailer.svg?branch=main)](https://travis-ci.com/killshot13/express-smtp-mailer) | [![MIT license](https://img.shields.io/badge/License-MIT-blue.svg)](https://lbesson.mit-license.org/) | [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier) | [![Known Vulnerabilities](https://snyk.io/test/github/killshot13/express-smtp-mailer/badge.svg)](https://snyk.io/test/github/killshot13/express-smtp-mailer) | [![Maintained](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://github.com/killshot13/express-smtp-mailer/graphs/traffic) |\n\n\u003eATTENTION: 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.\n\n## [VIEW PROJECT CHANGELOG](https://github.com/killshot13/express-smtp-mailer/wiki/Version-Release-Notes)\n## [READ STEP-BY-STEP WALKTHROUGH](https://daily.dev/posts/how-to-build-an-smtp-mail-server-with-express-node-and-gmail)\n\n### Installation\n\n`git clone` this repository\n\n`cd express-smtp-mailer` to enter root directory\n\n`npm install` to acquire the `node_modules`\n\n`code .` to open VS Code (or your favorite editor)\n\n### Configuration\n\ncreate a new `.env` file in the root directory\n\nuse the `process.env` variables defined in the `.env.example` and `./routes/mailrouter.js` files to setup authentication\n\nfor development and testing, create an [Ethereal account](https://ethereal.email/create) and enter the credentials of the testing account (if desired)\n\n_`process.env.SMTP_DEV_EMAIL=''`_\n\n_`process.env.SMTP_DEV_PASSWORD=''`_\n\nfor 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](https://cloud.google.com/docs/authentication) 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.\n\n\t\t\tclientId: process.env.CLIENT_ID,\n\t\t\tclientSecret: process.env.CLIENT_SECRET,\n\t\t\trefreshToken: process.env.REFRESH_TOKEN,\n\t\t\taccessToken: process.env.ACCESS_TOKEN,\n\n### Testing\n\ngo back to the terminal and run `npm run dev`\n\nit should print out the following lines\n\n`Node dev server: listening on port 5000`\n\n`Ready to send mail!`\n\nverify 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`\n\n### Success\n\nand there you have it!\n\na deployment-ready express smtp mail server\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkillshot13%2Fexpress-smtp-mailer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkillshot13%2Fexpress-smtp-mailer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkillshot13%2Fexpress-smtp-mailer/lists"}