events/config.json
Padreug 3a8e0ff591
Some checks failed
lint.yml / fix: Date/Message-ID/From-name on ticket emails, richer body (1.6.1-aio.9) (pull_request) Failing after 0s
lint.yml / fix: Date/Message-ID/From-name on ticket emails, richer body (1.6.1-aio.9) (push) Failing after 0s
fix: Date/Message-ID/From-name on ticket emails, richer body (1.6.1-aio.9)
A tester's ticket email landed in spam. A mail-tester run against demo
scored 8.3/10 with SPF, DKIM and DMARC all passing through the VPS relay,
so the deductions were all in the message: MISSING_DATE (1.4),
HTML_IMAGE_ONLY_04 (0.3), MISSING_MID (0.1) — and Gmail/Outlook weigh a
missing Date/Message-ID as "machine-generated" far more than that.

- `build_ticket_email` sets Date, a Message-ID under the sender domain,
  and a From display name from `lnbits_site_title`.
- The body now carries the event name, dates, location, name on ticket,
  ticket id and the door instruction, so the HTML part is no longer a
  QR with a handful of words.

Upstream candidate: lnbits core `send_email` has the same omissions.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EYwoAkZZmXMMmaBp4WGUBo
2026-09-08 16:19:38 +02:00

67 lines
1.9 KiB
JSON

{
"id": "events",
"version": "1.6.1-aio.9",
"name": "Events",
"repo": "https://git.atitlan.io/aiolabs/events",
"short_description": "Sell and register event tickets",
"description": "",
"tile": "/events/static/image/events.png",
"min_lnbits_version": "1.4.1",
"contributors": [
{
"name": "talvasconcelos",
"uri": "https://github.com/talvasconcelos",
"role": "Developer"
},
{
"name": "dni",
"uri": "https://github.com/dni",
"role": "Developer"
},
{
"name": "prusnak",
"uri": "https://github.com/prusnak",
"role": "Developer"
},
{
"name": "Ben Arc",
"uri": "https://github.com/arcbtc",
"role": "Developer"
},
{
"name": "motorina0",
"uri": "https://github.com/motorina0",
"role": "Developer"
},
{
"name": "padreug",
"uri": "https://git.atitlan.io/padreug",
"role": "Developer (aio fork: approval workflow + NIP-52 Nostr sync + edit gating)"
}
],
"images": [
{
"uri": "https://raw.githubusercontent.com/lnbits/events/main/static/image/1.jpg",
"link": "https://www.youtube.com/embed/hGTkJ9e5TNk?si=DXqBEEzpyyb33UQd"
},
{
"uri": "https://raw.githubusercontent.com/lnbits/events/main/static/image/1.png"
},
{
"uri": "https://raw.githubusercontent.com/lnbits/events/main/static/image/2.jpeg"
},
{
"uri": "https://raw.githubusercontent.com/lnbits/events/main/static/image/3.png"
},
{
"uri": "https://raw.githubusercontent.com/lnbits/events/main/static/image/4.png"
}
],
"description_md": "https://raw.githubusercontent.com/lnbits/events/main/description.md",
"terms_and_conditions_md": "https://raw.githubusercontent.com/lnbits/events/main/toc.md",
"license": "MIT",
"paid_features": "",
"tags": ["Fun & Social", "Ticketing"],
"donate": "",
"hidden": false
}