{"id":15027055,"url":"https://github.com/moonmail/moonmail","last_synced_at":"2026-01-09T23:03:14.241Z","repository":{"id":40945286,"uuid":"55159824","full_name":"MoonMail/MoonMail","owner":"MoonMail","description":"Email marketing platform for bulk emailing via Amazon SES (Google Cloud Platform and Azure coming soon)","archived":false,"fork":false,"pushed_at":"2022-12-22T07:59:28.000Z","size":30147,"stargazers_count":2001,"open_issues_count":116,"forks_count":305,"subscribers_count":55,"default_branch":"master","last_synced_at":"2024-07-30T13:13:33.510Z","etag":null,"topics":["aws","email-campaigns","email-marketing","email-validation","email-verification","lambda","liquid","marketing-automation","microapps","moonmail","serverless","serverless-applications","serverless-architectures","serverless-examples","shopify","zapier"],"latest_commit_sha":null,"homepage":"https://moonmail.io/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MoonMail.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":"MoonMail,","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"custom":null}},"created_at":"2016-03-31T15:07:00.000Z","updated_at":"2024-07-24T10:30:47.000Z","dependencies_parsed_at":"2023-01-30T06:16:04.009Z","dependency_job_id":null,"html_url":"https://github.com/MoonMail/MoonMail","commit_stats":null,"previous_names":["microapps/moonmail"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MoonMail%2FMoonMail","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MoonMail%2FMoonMail/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MoonMail%2FMoonMail/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MoonMail%2FMoonMail/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MoonMail","download_url":"https://codeload.github.com/MoonMail/MoonMail/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219847561,"owners_count":16556383,"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":["aws","email-campaigns","email-marketing","email-validation","email-verification","lambda","liquid","marketing-automation","microapps","moonmail","serverless","serverless-applications","serverless-architectures","serverless-examples","shopify","zapier"],"created_at":"2024-09-24T20:05:42.102Z","updated_at":"2024-10-14T10:22:45.759Z","avatar_url":"https://github.com/MoonMail.png","language":"JavaScript","readme":"# MoonMail\n\n[![Build Status](https://travis-ci.org/microapps/MoonMail.svg?branch=master)](https://travis-ci.org/microapps/MoonMail)\n[![Coverage Status](https://coveralls.io/repos/github/microapps/MoonMail/badge.svg?branch=master)](https://coveralls.io/github/microapps/MoonMail?branch=master)\n[![Twitter](https://img.shields.io/twitter/url/https/github.com/microapps/MoonMail.svg?style=social)](https://twitter.com/intent/tweet?text=Wow:\u0026url=https%3A%2F%2Fgithub.com%2Fmicroapps%2FMoonMail%2F)\n[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/microapps/MoonMail/master/LICENSE)\n[![Gitter](https://badges.gitter.im/microapps/MoonMail.svg)](https://gitter.im/microapps/MoonMail?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge)\n\nSend email marketing campaigns with [Amazon SES](https://moonmail.io/amazon-ses-email-marketing/). Let [Amazon Lambda](https://aws.amazon.com/lambda/) compose email by email and literaly scale it to infinite. \n\nWith [MoonMail](https://moonmail.io/) you can: create \u0026 edit lists of recipients (email addresses) and store them within a [DynamoDB](https://aws.amazon.com/dynamodb/). Create \u0026 edit html email marketing campaigns, send them and track their opens and clicks.\n\n**The biggest magic of MoonMail: SEND BILLIONS OF EMAILS WITH NO SERVERS!**\n\n[See the wiki for detailed specs and infrastructure graphs.](https://github.com/microapps/MoonMail/wiki)\n\n\n## Live Features\n\n* [Create and store recipients in lists](https://github.com/microapps/MoonMail/wiki/Lists-\u0026-recipients)\n* [Compile and send email campaigns](https://github.com/microapps/MoonMail/wiki/Sender)\n* [Parse (track) opened emails + clicked links within an email](https://github.com/microapps/MoonMail/wiki/Links)\n* [Create, edit and delete campaigns](https://github.com/microapps/MoonMail/wiki/Campaigns)\n* Schedule campaigns to be sent in the future\n* Extend the recipient fields with extra values like: gender, country... [(Liquid powered)](https://shopify.github.io/liquid/)\n* Update the recipient status with any of the following: Unsubscribed, Bounced, Complaint-Spam, Suppresion-list\n* Filter lists by Segments\n* [React powered frontend / UI to send campaigns](https://microapps.github.io/MoonMail-UI/)\n* Apply [liquid](https://shopify.github.io/liquid/) syntax within the campaigns\n* [Public API to interact with the SAAS version](http://docs.moonmail.io)\n\n## Free Perks\n\n* [Free email verification and email list cleaning](https://moonmail.io/email-verification-email-list-cleaning/)\n\n## Getting Started\n\n### Requirements\n- yarn ([Install instructions](https://yarnpkg.com/en/docs/install))\n- serverless [Serverless Framework](https://github.com/serverless/serverless)\n\n**Notes about the serverless version**\n\nVersion **0.5.x** is required to run several parts of the [MoonMail API](http://microapps.github.io/MoonMail/) such as the **api** and **events** sub-packages, for these, the root of the repository provides the required `s-project.json`, `s-resources-cf.json` and `s-templates.json`. Find more information about how to handle functions with serverless 0.5 [here](https://serverless.readme.io/v0.5.0/docs).\n\nThe rest of the services require serverless **1.x** and are self-contained. For details on how to manage them, you should follow the instructions provided in their respective README.md\n\n### Dependencies\n\nInstall serverless 0.5 globally:\n```\nyarn global add serverless@0.5.6\n```\n\n\nInstall the root project dependencies:\n```\nyarn install\n```\n\nInstall the API dependencies:\n```\ncd api \u0026\u0026 yarn install\n````\n\nInstall the event processors' dependencies:\n```\ncd events \u0026\u0026 yarn install\n```\n\nInstalling the dependencies for the rest of the services follow the same convention. You just need to **cd** into it and **install** its dependencies.\n    \n### Initialize and configure the Serverless 0.5 project\n\n```\nsls project init -c -n your-lower-case-project-name\n```\n    \nConfigure the `s-variables-\u003cstage\u003e-\u003cregion\u003e.json` files inside the `_meta` directory by providing the [required variables](required-variables.md).\n\n### Deployment\n\n#### Servereless 0.5 resources\n\nCreate all the needed resources in your AWS account:\n```\nsls resources deploy\n```\n\nDeploy all the Lambda functions:\n```\nsls function deploy\n```\n    \nDeploy MoonMail events:\n```\nsls event deploy\n```\n\nCreate the API Gateway endpoints:\n```\nsls endpoint deploy\n```\n\n**Troubleshooting:** \n\nDue to the amount of resources it might be difficult to deploy everything at once. It's totally fine to **cd** into sub-directories of **api** or **events** and perform the above mentioned actions in order to reduce the scope of deployments. Also, using the **dash deploy** subcommand might be useful when deploying independent functions. Aside from that, there are some functions depending on serverless 0.5 which require NodeJS \u003e 4.3. For those, you will have to change the runtime version through the **AWS Lambda Console** because it's not supported to do so through Serverless on this version.\n\nIf the above doesn't solve your issues, there are a couple of things you should double check:\n\n1.- Your current Serverless version (different parts of the project require different versions), this is how you can do it:\n```\nsls --version\n```\n\n2.- You have provided all the [required variables](required-variables.md) in the `_meta` directory.  \n\n3.- An `admin.env` file should exist in the root of the project containing the **AWS** profile to be used by the deployments (this only applies for the function and resources depending on sls@0.5). Here is an example of what it should look like:\n```\nAWS_DEV_PROFILE=moonmail-dev\nAWS_PROD_PROFILE=moonmail-prod  \n```\n\n4.- The provided profile in `admin.env` should exist in your `~/.aws/credentials`\n\n\n#### Serverless 1.x resources\n\nTo configure and deploy these, you will have to follow the instructions provided in their respective README.md\n\n## Live demo\nIf you have set up everything correctly you'll be able to send an email campaign using our [demo ui](https://moonmail.github.io/MoonMail-UI/)\n    \n## Questions?\nPlease post your questions on [StackOverflow and tag them with: moonmail](http://stackoverflow.com/questions/tagged/moonmail?sort=votes\u0026pageSize=50). \n\n## Contributing Guidelines\nContributions are always welcome! If you'd like to collaborate with us, take into account that:\n\n* We use ES \u003e= 2015 and [babel](https://github.com/babel/babel) for transpilation.\n* We test with [mocha](https://github.com/mochajs/mocha) + [chai](https://github.com/chaijs/chai) + [sinon](https://github.com/sinonjs/sinon).\n\nFeel free to \u003ca href=\"mailto:hi@microapps.com\"\u003econtact us\u003c/a\u003e if you have any question\n\n\n## License\n\n[MoonMail](https://moonmail.io/) is available under the MIT license. See the LICENSE file for more info.\n\n## Professional Help\n\nIf you need support getting MoonMail into production in your AWS account, contact the [Email Marketing and Serverless Experts](https://moonmail.io/email-marketing-experts):\n\n- \u003ca href=\"mailto:ryan@serverlesscode.com\"\u003eServerlessCode\u003c/a\u003e\n- \u003ca href=\"http://www.apiwise.nl\"\u003eApiwise\u003c/a\u003e\n- \u003ca href=\"http://www.microapps.com\"\u003emicroapps\u003c/a\u003e\n- \u003ca href=\"https://sc5.io\"\u003eSC5\u003c/a\u003e\n- \u003ca href=\"mailto:sam@acloud.guru\"\u003eA Cloud Guru - AWS training \u0026 serverless experts\u003c/a\u003e (\u003ca href=\"https://acloud.guru\"\u003eVisit Web Site\u003c/a\u003e)\n- \u003ca href=\"mailto:hello@goltfisch.de\"\u003eJust Serverless\u003c/a\u003e\n\n[Promote your Serverless services by creating a MoonMail account](https://app.moonmail.io/profile/experts)\n\nMoonMail [Email Marketing Software](https://moonmail.io/) done the right way\n","funding_links":["https://github.com/sponsors/MoonMail,"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoonmail%2Fmoonmail","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmoonmail%2Fmoonmail","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoonmail%2Fmoonmail/lists"}