docs: copy-to-organizer + Email sent column
Some checks failed
lint.yml / docs: copy-to-organizer + Email sent column (pull_request) Failing after 0s
Some checks failed
lint.yml / docs: copy-to-organizer + Email sent column (pull_request) Failing after 0s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EYwoAkZZmXMMmaBp4WGUBo
This commit is contained in:
parent
598d0ca6ab
commit
60048a2687
2 changed files with 2 additions and 1 deletions
|
|
@ -70,7 +70,7 @@ Events includes a shareable ticket scanner, which can be used to register attend
|
||||||
From display name — `extra.organizer_name` gives "Organizer via <site title>",
|
From display name — `extra.organizer_name` gives "Organizer via <site title>",
|
||||||
otherwise the site title. Replies go to `extra.reply_to_email`, falling back
|
otherwise the site title. Replies go to `extra.reply_to_email`, falling back
|
||||||
to the event owner's account email (no Reply-To when neither exists). The
|
to the event owner's account email (no Reply-To when neither exists). The
|
||||||
From _address_ is always the instance mailbox, which is what DKIM signs. `POST /events/api/v1/tickets/{ticket_id}/resend-email`
|
From _address_ is always the instance mailbox, which is what DKIM signs. `extra.copy_to_organizer` BCCs every ticket email to that reply-to address (envelope only, no header) so the organizer keeps a copy; the admin ticket table shows an "Email sent" column from `extra.email_notification_sent`. `POST /events/api/v1/tickets/{ticket_id}/resend-email`
|
||||||
returns a `TicketResendResult` with per-channel outcome.
|
returns a `TicketResendResult` with per-channel outcome.
|
||||||
|
|
||||||
## Powered by LNbits
|
## Powered by LNbits
|
||||||
|
|
|
||||||
|
|
@ -18,3 +18,4 @@ in an upstream-compatible form; strike it when the PR merges upstream.
|
||||||
| `Date` + `Message-ID` + From display name on the ticket email (`build_ticket_email`); event details in the body | `services.py` | lnbits/events (mailer) **and** lnbits/lnbits `send_email` (same omissions, hits password-reset/admin mails) | trivial, standalone — measured: SpamAssassin MISSING_DATE 1.4 + MISSING_MID 0.14 |
|
| `Date` + `Message-ID` + From display name on the ticket email (`build_ticket_email`); event details in the body | `services.py` | lnbits/events (mailer) **and** lnbits/lnbits `send_email` (same omissions, hits password-reset/admin mails) | trivial, standalone — measured: SpamAssassin MISSING_DATE 1.4 + MISSING_MID 0.14 |
|
||||||
| Ticket card PNG (event/when/where/QR/name/id) attached to the ticket email instead of a remote `<img>` (`qr.py`, `GET /api/v1/ticket-card/{id}`) | `qr.py`, `services.py` | lnbits/events (their "ticket image" compositing could reuse the renderer) | standalone; mail-tester: removes HTML_IMAGE_ONLY (1.8) |
|
| Ticket card PNG (event/when/where/QR/name/id) attached to the ticket email instead of a remote `<img>` (`qr.py`, `GET /api/v1/ticket-card/{id}`) | `qr.py`, `services.py` | lnbits/events (their "ticket image" compositing could reuse the renderer) | standalone; mail-tester: removes HTML_IMAGE_ONLY (1.8) |
|
||||||
| Per-event sender identity: `extra.organizer_name` (From display name "X via <site>") + `extra.reply_to_email` (Reply-To, falls back to owner account email) | `models.py`, `services.py`, admin dialog | lnbits/events | small, standalone |
|
| Per-event sender identity: `extra.organizer_name` (From display name "X via <site>") + `extra.reply_to_email` (Reply-To, falls back to owner account email) | `models.py`, `services.py`, admin dialog | lnbits/events | small, standalone |
|
||||||
|
| `extra.copy_to_organizer` (envelope BCC of ticket emails to the reply-to) + "Email sent" column in the admin ticket table | `services.py`, `static/js/index.*` | lnbits/events | small, standalone |
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue