Issue Description
Calendar cancellations fail when an attendee URI uses uppercase or mixed-case MAILTO
Stalwart only strips lowercase mailto: before lowercasing the address. “MAILTO: example [at] example [dot] com” therefore becomes “mailto:example [at] example [dot] com” and is used as the SMTP recipient.
Fix and test ready:
Have a few other non breaking fixes as well for better alignment with standard RFCs that we’d like to upstream. Please let me know if this bug fix be acceptable.
GH: @prasannavl if you’re open to accepting PRs. Thanks!
Expected Behavior
Strip the mailto scheme case-insensitively and send to example [at] example [dot] com
Actual Behavior
Stalwart sends RCPT TO:mailto example [at] example [dot] com, which our SMTP relay rejects.
Reproduction Steps
- Create an event with ATTENDEE:MAILTO example [at] example [dot] com
- Cancel the event so Stalwart sends an iTIP cancellation.
- Check the outbound SMTP recipient.
Relevant Log Output
RCPT TO:<mailto example [at] example [dot] com>
Stalwart Version
v0.16.x
Installation Method
Docker
Database Backend
RocksDB
Blob Storage
RocksDB
Search Engine
Internal
Directory Backend
LDAP
Additional Context
Seen with Gmail app → Z-Push/ActiveSync → Stalwart.
It strips mailto: case-insensitively before lowercasing the address.
I have reviewed the documentation and FAQ and confirm that my issue is NOT addressed there.
on
I have searched this support forum (open and closed topics) and confirm this is not a duplicate.
on
I understand that topics in this category are triaged by a bot first but a human reply will follow up. If I’d prefer a human-only reply, I’ll add the no-ai tag to my topic.
on