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.
- 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
command
- 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
app:create-user --admin
command
- Navigate to
http://127.0.0.1
orhttp://YOUR_SERVER_IP
and log in with user credentials
- If none created yet, create a new Configuration Set. Go to
Configuration sets
menu item underConfiguration
section and clickCreate set
. FillConfiguration set name
and create set. At Event configuration page clickEvent destinations
andAdd destination
. ChoseEvent types
you wish to track and clickNext
. UnderDestination options
chooseAmazon SNS
, fill destinationName
. Next create newSNS topic
or use existing. - Under
Verified identities
choose identity you wish to track. Go toConfiguration step
tab and clickEdit
. CheckAssign a default configuration set
, selectDefault configuration set
you recently created and save changes. Go to SNS Configuration step paragraph below.
- 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 openNotifications
tab. ClickEdit Configuration
and create or select SNS Topic for events you wish to track. EnableInclude original headers
.
- Next, navigate to Amazon Simple Notification Service (SNS).
- In
Topics
section select topic you created before. - Add new subscription with HTTP (or HTTPS protocol if configured) and paste WebHook url from
/project/1/edit
SesDashboard project page. CheckEnable raw message delivery
.
- 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
- Clear old emails data:
$ ./bin/console app:emails:cleanup --days=7
- Create Dashboard statistics
- Improve documentation
- Create Analytics reports