Mailglass.Tracking.Plug (Mailglass v2.5.0)

Copy Markdown View Source

Mountable Plug endpoint for open-pixel + click-redirect URLs.

Mount

# In adopter's endpoint or router:
forward "/track", Mailglass.Tracking.Plug

Routes

  • GET /o/:token.gif — 43-byte transparent GIF89a when valid. Failed verify returns HTTP 204 (not 404 — per , no URL enumeration).
  • GET /c/:token — HTTP 302 redirect to the signed target_url. Failed verify returns HTTP 404.

Security headers

Pixel response:

  • Cache-Control: no-store, private, max-age=0
  • Pragma: no-cache
  • X-Robots-Tag: noindex
  • Content-Type: image/gif

Telemetry

Emits [:mailglass, :tracking, kind, :recorded] only after a successful event-ledger append. Returned or raised ledger failures emit [:mailglass, :tracking, kind, :failed] while retaining the GIF/redirect response. Metadata is %{delivery_id: binary, tenant_id: binary} plus a finite :failure_class on failed events — no PII.

Summary

Functions

Callback implementation for Plug.call/2.

Callback implementation for Plug.init/1.

Functions

call(conn, opts)

Callback implementation for Plug.call/2.

init(opts)

Callback implementation for Plug.init/1.