Logo

Open Template Hub - Mail Server Template v5

[![License](https://img.shields.io/github/license/open-template-hub/mail-server-template?color=43b043&style=for-the-badge)](LICENSE) [![Issues](https://img.shields.io/github/issues/open-template-hub/mail-server-template?color=43b043&style=for-the-badge)](https://github.com/open-template-hub/mail-server-template/issues) [![PRCLosed](https://img.shields.io/github/issues-pr-closed-raw/open-template-hub/mail-server-template?color=43b043&style=for-the-badge)](https://github.com/open-template-hub/mail-server-template/pulls?q=is%3Apr+is%3Aclosed) [![LastCommit](https://img.shields.io/github/last-commit/open-template-hub/mail-server-template?color=43b043&style=for-the-badge)](https://github.com/open-template-hub/mail-server-template/commits/master) [![Release](https://img.shields.io/github/release/open-template-hub/mail-server-template?include_prereleases&color=43b043&style=for-the-badge)](https://github.com/open-template-hub/mail-server-template/releases) [![SonarCloud](https://img.shields.io/sonar/quality_gate/open-template-hub_mail-server-template?server=https%3A%2F%2Fsonarcloud.io&label=Sonar%20Cloud&style=for-the-badge&logo=sonarcloud)](https://sonarcloud.io/dashboard?id=open-template-hub_mail-server-template) Mail Server Template is a generic open-source mail server that has a simple yet powerful design to connect your business with third-party email service providers (like Gmail, Yahoo, or Outlook). ## Ways to Begin ### 1. Express Deploy Deploy this template to Heroku [![Deploy](https://img.shields.io/badge/Deploy_to-Heroku-7056bf.svg?style=for-the-badge&logo=heroku)](https://heroku.com/deploy?template=https://github.com/open-template-hub/mail-server-template) ### 2. Start with Server Generator Create your server with Server Generator Package [![NPM](https://img.shields.io/badge/NPM-server_generator-cb3837.svg?style=for-the-badge&logo=npm)](https://www.npmjs.com/package/@open-template-hub/server-generator) ### 3. GitHub Template Use this repository as a Template [![GitHubTemplate](https://img.shields.io/badge/GitHub-Template-24292e.svg?style=for-the-badge&logo=github)](https://github.com/open-template-hub/mail-server-template/generate) ## Installations Install **nodejs** and **npm** via **[nodejs.org](https://nodejs.org)**. Check installed versions of **nodejs** and **npm** via running following commands: ``` node -v npm -v ``` Check project's current **nodejs** and **npm** version from **[package.json](package.json)**. ## Environment Variables If you don't give **RESPONSE_ENCRYPTION_SECRET**, response encryption mechanism will be disabled automatically. ``` applescript PORT=4006 PROJECT=OTH MODULE=MailServer ENVIRONMENT=Local CLOUDAMQP_APIKEY={MQ Api Key} CLOUDAMQP_URL={MQ Connection Url} MAIL_SERVER_QUEUE_CHANNEL=oth_mail_queue ORCHESTRATION_SERVER_QUEUE_CHANNEL=oth_orchestration_queue REDISCLOUD_URL={Redis Connection Url} REDIS_CONNECTION_LIMIT={Redis Connection Limit} MONGODB_URI={MongoDB Connection Url} MONGODB_CONNECTION_LIMIT={MongoDB Connection Limit} ACCESS_TOKEN_SECRET={Access Token Secret} RESPONSE_ENCRYPTION_SECRET={Response Encryption Secret} DEFAULT_LANGUAGE={LANGUAGE CODE} ``` ## Configurations ### Example Preconfigured Mail: ```json { "key" : "verifyAccount", "from" : "info@opentemplatehub.com", "mails" : [ { "language" : "en", "subject" : "Verify Account", "body": "{Verify Account Mail Body}" } ] } ``` If you provide 'to' value to this configuration, POST /sms/me 'to' value will be overwritten. ### Mail Service Configurations This is the list of supported mail providers. Configuring only what you need to use is enough. 1. [Gmail](#2-gmail) 2. [Outlook](#3-outlook) 3. [Yahoo](#4-yahoo) ### 1. GMAIL #### Service Configuration ```json { "key" : "GMAIL", "payload" : { "host" : "{ smtp.gmail.com }", "port" : "{ 465 }" } } ``` #### Mail Configuration ```json { "provider" : "GMAIL", "username" : "{ Username }", "password" : "{ Password }" } ``` ### 2. OUTLOOK #### Service Configuration ```json { "key" : "OUTLOOK", "payload" : { "host" : "{ smtp-mail.outlook.com }", "port" : "{ 587 }", "sslV3": true } } ``` #### Mail Configuration ```json { "provider" : "OUTLOOK", "username" : "{ Username }", "password" : "{ Password }" } ``` ### 3. YAHOO #### Service Configuration ```json { "key" : "YAHOO", "payload" : { "host" : "{ smtp.mail.yahoo.com }", "port" : "{ 465 }" } } ``` #### Mail Configuration ```json { "provider" : "YAHOO", "username" : "{ Username }", "password" : "{ Password }" } ``` ### Custom Mail Service Configurations For the custom mail service configurations, you can build similar configuration below. #### Service Configuration ```json { "key" : "{ Provider Key }", "payload" : { "host" : "{ smtp.host }", "port" : "{ port }" } } ``` #### Mail Configuration ```json { "provider" : "{ Provider Key }", "username" : "{ Username }", "password" : "{ Password }" } ``` ## Contributors

Furkan Yavuz

💬 📖 👀

Fatih Turker

💬 📖 👀

Mert Sarac

💬 📖 👀
## Contributing Refer to **[CONTRIBUTING.md](https://github.com/open-template-hub/.github/blob/master/docs/CONTRIBUTING.md)** to see how to contribute to Open Template Hub.
## Code of Conduct Refer to **[CODE_OF_CONDUCT.md](https://github.com/open-template-hub/.github/blob/master/docs/CODE_OF_CONDUCT.md)** to see contributor covenant code of conduct.
## LICENSE The source code for this project is released under the [MIT License](LICENSE).