A Lambda function for turning your RSS feed items into emails.
This daughter project of SimpleSubscribe contains code that you upload to an AWS Lambda function. The Lambda receives a trigger event from your RSS feed, and uses this data to send emails to your subscriber list stored in Dynamo DB.
For building your own independent subscriber base, see the SimpleSubscribe project and SimpleSubscribe.org.
- Create a Lambda function to house RSS Mailer.
- Create a
.env
file. See below for values. - Upload the function code. If your env is set up, you can run
make update
. - Set up your trigger to provide the expected arguments. See below.
Your .env
is used by the helper scripts and provides an easy way to upload Lambda environment variables. Here's an example of the expected values that you can customize for your needs:
FUNCTION_NAME="rss-mailer"
LAMBDA_ENV="Variables={\
DB_TABLE_NAME=SimpleSubscribeList,\
UNSUBSCRIBE_LINK=https://example.com/api/unsubscribe/,\
WEBSITE=https://example.com,\
TITLE='My Newsletter Title',\
[email protected],\
SENDER_NAME='Arthur Dent'}"
The function's Invocation
struct shows the arguments expected to be passed in from the trigger event. These are:
Title
: The title of an RSS item.Description
: A description of an RSS item.Content
: The main content of the item, usually HTML formatted.Plain
: A plain-text version of the content.Link
: A link to the item on the web.
If, for example, you're using Zapier to trigger your function, ensure that each of these arguments are provided in the Invoke Function in AWS Lambda > Set up action step.
This project is available under the Mozilla Public License 2.0 (MPL-2.0) for non-monetized applications, such as building and sending your own free newsletter.
For commercial organizations or monetized applications, a one-time commercial license fee of $49 helps to support maintenance and further development. Commercial or monetized usage is subject to the End-User License Agreement. You may purchase a license at the parent project website, SimpleSubscribe.org.
RSS Mailer would be happy to have your contribution! Add helper scripts, improve the code, or even just fix a typo you found.
Here are a couple ways you can help out. Thank you for being a part of this open source project! 💕
Please open an issue to report bugs or anything that might need fixing or updating.
If you would like to change or fix something yourself, a pull request (PR) is most welcome! Please open an issue before you start working. That way, you can let other people know that you're taking care of it and no one ends up doing extra work.
Please fork the repository, then check out a local branch that includes the issue number, such as fix-<issue number>
. For example, git checkout -b fix-42
.
Before you submit your PR, make sure your fork is synced with master
, then create a PR. You may want to allow edits from maintainers so that I can help with small changes like fixing typos.