SesDashboard Documentation - Analytics UI for Amazon Simple Email Service.

Installation

There are several ways to install app.

  • AWS Marketplace

  • Docker installation

  • Regular installation

AWS Marketplace

There is an AWS Marketplace prebuild app: https://aws.amazon.com/marketplace/pp/Nikeev-SesDashboard/B08DQ5CY6T

Docker installation

  • Git clone https://github.com/Nikeev/sesdashboard.git

  • Copy .env file to .env.local

  • Fill database parameters in .env.local with your MySQL credentials

  • Run

$ docker-compose up -d
$ docker exec -it sesdashboard-php-fpm composer install
$ docker exec -it sesdashboard-php-fpm ./bin/console doctrine:migrations:migrate -n
  • To create Admin user run

$ docker exec -it sesdashboard-php-fpm ./bin/console app:create-user --admin

Regular installation

  • Download an app (download zip or git clone) to your web directory so your webserver should use /public/index.php

  • Copy .env file to .env.local

  • Fill database parameters in .env.local with your MySQL credentials

$ composer install
$ ./bin/console doctrine:migrations:migrate -n
  • To create Admin user run

$ ./bin/console app:create-user --admin
  • (Optionally) If your server webroot is not /public directory you could create symlink to it. For example, if your server configured for /public_html directory, run

$ ln -s ~/sesdashboard/public ~/sesdashboard/public_html

Configuration

1.a. New AWS SES Console v2 (preferable)

  • If none created yet, create a new Configuration Set. Log in into Amazon Simple Email Service console.

  • Go to Configuration sets menu item under Configuration section and click Create set.

_images/configuration-sets.png
  • Fill Configuration set name and create set.

_images/create-configuration-set.png
  • At Event configuration page click Event destinations and Add destination.

_images/event-destinations.png
  • Chose Event types you wish to track and click Next. (Note: Not all events supported yet.)

_images/select-event-types.png
  • Under Destination options choose Amazon SNS, fill destination Name. Next create new SNS topic or use existing.

_images/specify-destination.png
  • Review and Add destination.

  • Under Verified identities choose identity you wish to track. Go to Configuration step tab and click Edit.

_images/default-configuration-set.png
  • Check Assign a default configuration set, select Default configuration set you recently created and save changes.

_images/apply-default-configuration-set.png

1.b. AWS SES Console v1

  • Go to Amazon Simple Email Service (SES) console. There are 2 ways to configure events publishing. First is to create new Configuration Set. It allows you to track opens and clicks but requires you to pass specific email header X-SES-CONFIGURATION-SET. More about headers configuration: https://docs.aws.amazon.com/ses/latest/DeveloperGuide/event-publishing-send-email.html Second option doesn’t require any changes in your existing app, but cannot track clicks and opens.

  • First option: Select Configuration Sets menu. Click Create Configuration Set or edit your existing set. Add new SNS Destination, select events to track and create SNS topic.

  • Second option: Under Identity Management select Domain or Email address and open Notifications tab. Click Edit Configuration and create or select SNS Topic for events you wish to track. Enable Include original headers.

2. AWS SNS Configuration step

  • Next, navigate to Amazon Simple Notification Service (SNS).

  • Click Topics section and select topic you created before.

_images/sns-topics.png
  • Click Create subscription

_images/sns-subscriptions.png
  • Add new subscription with HTTP (or HTTPS protocol if configured) and paste WebHook url from /project/1/edit SesDashboard project page. Check Enable raw message delivery.

_images/create-subscription.png _images/webhook.png

Upgrades

To install new version follow these steps:

  • Make backup

  • Git pull or download new version

  • If your app uses Docker run:

$ docker exec -it sesdashboard-php-fpm composer install
$ docker exec -it sesdashboard-php-fpm ./bin/console doctrine:migrations:migrate -n
$ docker exec -it sesdashboard-php-fpm ./bin/console cache:clear
$ docker exec -it sesdashboard-php-fpm ./bin/console cache:warmup
  • For regular setup run:

$ composer install
$ ./bin/console doctrine:migrations:migrate -n
$ ./bin/console cache:clear
$ ./bin/console cache:warmup

Commands

Clear old emails data

$ ./bin/console app:emails:cleanup --days=7

Create admin user

$ ./bin/console app:create-user --admin

About

SesDashboard is an Analytics UI for Amazon Simple Email Service.

With activity tracking tool you could check which email was successfully delivered or there we any problems. Also you will be able to view detailed events log like mail opens and clicks info. Useful for transactional mails.

SesDashboard works as stand-alone app. No existing code needs to be changed.

GitHub Project page: https://github.com/Nikeev/sesdashboard

_images/sesdashboard-login.png _images/sesdashboard-dashboard.png _images/sesdashboard-activity.png _images/sesdashboard-email-details.png

Indices and tables