4 Commits

Author SHA1 Message Date
netlas
b2b61a26ed Add typed error handling, retries, and webhook receiver
- Typed exceptions: LeadMailException base with LeadMailRequestException
  (structured statusCode/errorCode/logId/validationErrors) and
  LeadMailConnectionException; sendEmail/getDomains now throw these instead
  of raw Guzzle exceptions, and a malformed body is no longer a silent null.
- Automatic retry with exponential backoff on idempotent calls
  (getDomains, verifyEmail); sends are never retried to avoid duplicates.
- Webhook receiver: auto-registered route + LeadMailWebhookController that
  verifies the HMAC signature, logs failures, and dispatches a
  LeadMailWebhookReceived event. WebhookSignature/WebhookEvent/LeadMailWebhook
  helpers for manual handling.
- Webhook self-registration client methods (registerWebhook/getWebhook/
  deleteWebhook) and a promptless `leadmail:install` command that registers
  the URL and writes LEADMAIL_WEBHOOK_SECRET to .env.
- Null-safe client binding when LEADMAIL_TOKEN is unset.
- Test suite (Pest + Testbench) covering all of the above.
2026-06-09 11:14:10 +03:00
netlas
bf8aac48e6 Add Laravel 13 support
Bump illuminate/mail and illuminate/support to ^11.0|^12.0|^13.0, testbench to allow ^11.0, and update README requirements.
2026-06-08 21:14:09 +03:00
netlas
546496992c Update URLs from GitHub to Gitea 2026-03-04 17:17:18 +02:00
netlas
1b5fd82894 Initial release 2026-03-04 02:15:10 +02:00