Email tracker, give you a notification when someone opens your email.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
config
html
limiter
main
notify
server
storage
types
.gitignore
.travis.yml
Dockerfile
LICENSE
Makefile
README.md
VERSION
docker-compose.yml
et.png
glide.lock
glide.yaml

README.md

ET

Email Tracker

Notify you when someone opens the email.

Go Report Card Master Build Status GoDoc License Docker Pulls Image Size GitHub release


Status

Total Task Submitted Daily Task Submitted Total Notified Daily Notified

logo

Design

  1. Users provide their email address to receive notifications.
  2. Server generate an uniq track ID and returns to user, in the format of a 1x1 pixel png link.
  3. User insert the png link into the email waiting to send.
  4. When someone opens the link (/t/xxxx-xxxx-xxxx), server will send a notification email to the email address provided.
  5. Since there is no way to identify the target's name, user can optionally set a target username or some comments to the track task.
  6. Allow user to extend the notify times since the user could click the link by mistake.
  7. Allow user to check the task status by the track ID in case of notify email failed to sent.

API

  • GET / Index page, provide a beautiful task submit portal.
  • GET /t/**** Track task handler, always returns a 1x1 pixel png file. Server will do something according to the track ID.
  • /api/ Raw API entrypoint, user can check task status, submit tasks and so on.
  • /api/task/
    • POST ../submit submit a new track task
    • POST ../resume?id=**** resume the stopped task
    • GET ../get?id=**** get task status, all notifications sent
  • /api/status
    • GET ../task?total return a status badge of total task handled
    • GET ../task?daily return a status badge of daily task handled
    • GET ../notified?total return a status badge of total email sent
    • GET ../notified?daily return a status badge of daily email sent

Constraints

  • Same IP address can submit 10 tasks daily(per 24 hours). Can do this in memory, not a big deal.
  • After sent 5 emails, automatically stop this task, user can resume the task once.
  • Validate notifier's email, same email address can only receive 50 emails pre day.