Switch DM body to a Discord embed with real clickable masked links

Plain message content can't render [text](url) as a clickable link -- only
embeds support masked links in Discord, so the previous "label (url)"
format was the best plain-text could do. Now:

- DM body is a rich embed: author = From, title = Subject, footer = the
  disposable address the mail was sent to (previously not shown anywhere)
- HTML links render as real [label](<url>) masked links, angle-bracketed
  to suppress Discord's separate auto-embed preview
- Duplicate links (same URL linked twice, e.g. a logo and a text CTA
  pointing at the same tracking link) are collapsed to plain text after
  the first occurrence
- ParsedMail gained a `to` field (the disposable address) so adapters can
  surface which alias received a given piece of mail
Psalm 25 17committed parent 44566d162331bfd59713f18fcedc10a31f759f596a2451cBrowse files
5 files changed+71−22

Rendering diff…