@runnerty/executor-mail

Runnerty module: Mail executor

Usage no npm install needed!

<script type="module">
  import runnertyExecutorMail from 'https://cdn.skypack.dev/@runnerty/executor-mail';
</script>

README

Smart Processes Management

NPM version Downloads Dependency Status code style: prettier

Mail executor for Runnerty:

Email notification module with ejs template support.

Installation:

npm i @runnerty/executor-mail

You can also add modules to your project with runnerty

npx runnerty add @runnerty/executor-mysql

This command installs the module in your project, adds example configuration in your config.json and creates an example plan of use.

If you have installed runnerty globally you can include the module with this command:

runnerty add @runnerty/executor-mysql

Configuration samples:

Add in config.json:

{
  "id": "mail_default",
  "type": "@runnerty-executor-mail",
  "disable": false,
  "from": "Runnerty Notificator <sample@runnerty.io>",
  "transport": "smtp://my%mailsender.com:pass@smtp.host.com/?pool=true",
  "bcc": ["mycc@mail.com"],
  "templateDir": "/etc/runnerty/templates",
  "template": "alerts",
  "ejsRender": true
}
{
  "id": "mail_aws_ses_iam_smtp",
  "type": "@runnerty-executor-mail",
  "disable": false,
  "from": "Runnerty <hello@runnerty.io>",
  "transport": {
    "host": "email-smtp.eu-west-1.amazonaws.com",
    "port": 465,
    "secure": true,
    "auth": {
      "user": "aws_ses_user",
      "pass": "aws_ses_pass"
    }
  },
  "templateDir": "/etc/runnerty/templates",
  "template": "alerts",
  "ejsRender": true
}

To use AWS SES transport:

{
  "id": "mail_aws_ses_role",
  "type": "@runnerty-executor-mail",
  "from": "Runnerty <hello@runnerty.io>",
  "transport": {
    "service": "SES",
    "region": "us-east-1",
    "ses": {
      // optional extra arguments for SendRawEmail
      "Tags": [
        {
          "Name": "tag_name",
          "Value": "tag_value"
        }
      ]
    }
  },
  "templateDir": "/etc/runnerty/templates",
  "template": "alerts",
  "ejsRender": true
}

Plan sample:

Add in plan.json:

{
  "id": "mail_default",
  "to": ["my@mail.com"],
  "title": "Runnerty Mailer",
  "message": "My message from Runnerty!",
  "attachments": [
    {
      "filename": "sample.png",
      "path": "/etc/runnerty/templates/alerts/images/sample.png",
      "cid": "img_name@sample.png"
    }
  ]
}

EJS Template sample:

Plan:

{
  "id": "mail_default",
  "to": ["my@mail.com"],
  "title": "Runnerty Mailer",
  "message": "My message from Runnerty!",
  "args": { "value_one": "Hello", "value_two": "world!", "value_three": ":YYYY" }
}

HTML Template:

<html>
  <head>
    <title><%= value_one %> <%= value_two %></title>
  </head>
  <body>
    <%= value_three %>
  </body>
</html>

Want to help?

Want to file a bug, contribute some code, or improve documentation? Excellent! Read up on our guidelines for contributing.