Fetch List-Unsubscribe as URLs, the form RFC 8621 gives it #76

Merged
jcoffey-dev merged 1 commits from fix/list-unsubscribe-as-urls into main 2026-10-27 06:56:38 +00:00
Owner

Port of ihasmail PR #62.

List-Unsubscribe is an RFC 2369 header, and RFC 8621 4.1.2.3 allows asText only for headers outside RFC 5322 and RFC 2369. The current server accepts it; a stricter one (a 1.0-based server) refuses the whole Email/get, and no message opens. header:List-Unsubscribe:asURLs returns the list the reader was extracting by regex, and works on the current server too.

Also drops the unused Return-Path:asText and Received:asText:all typings, invalid for the same reason and never requested.

Checked: typecheck, tests (1551 pass; 7 timed out under load from a parallel cargo build and pass when rerun alone), build.

Port of ihasmail PR #62. List-Unsubscribe is an RFC 2369 header, and RFC 8621 4.1.2.3 allows `asText` only for headers outside RFC 5322 and RFC 2369. The current server accepts it; a stricter one (a 1.0-based server) refuses the whole `Email/get`, and no message opens. `header:List-Unsubscribe:asURLs` returns the list the reader was extracting by regex, and works on the current server too. Also drops the unused `Return-Path:asText` and `Received:asText:all` typings, invalid for the same reason and never requested. Checked: typecheck, tests (1551 pass; 7 timed out under load from a parallel cargo build and pass when rerun alone), build.
jcoffey-dev added 1 commit 2026-10-27 06:41:42 +00:00
Fetch List-Unsubscribe as URLs, the form RFC 8621 gives it
ci / node (pull_request) Skipped
ci / version (pull_request) Skipped
ci / docker-build (pull_request) Skipped
ci / publish (pull_request) Skipped
github/ci (branch) GitHub Actions
ci / github (pull_request) Successful in 1m43s
ci / announce (pull_request) Skipped
f10f91d5d9
List-Unsubscribe is an RFC 2369 header, and RFC 8621 4.1.2.3 allows the
Text form only for headers outside RFC 5322 and RFC 2369. The server answers
it today, but a stricter server refuses the whole Email/get with
invalidArguments, so no message can be opened. asURLs returns the list the
reader was extracting by hand.

Also drops the unused Return-Path and Received asText typings, which are
invalid for the same reason.
jcoffey-dev merged commit fd5dcf84ac into main 2026-10-27 06:56:38 +00:00
jcoffey-dev deleted branch fix/list-unsubscribe-as-urls 2026-10-27 06:56:39 +00:00
Sign in to join this conversation.