Expose message ID list from `ReferencesHeader`

Offen Anfängerfreundlich
#148,797 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
70/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Ruhig
Tech-Stack
python
Bereich
backend

Rechercherichtung

Beginne damit, ReferencesHeader und die bestehende AddressHeader API zu lesen, und untersuche anschließend, wie ReferencesHeader derzeit seine privaten _parse_tree-Daten verfügbar macht. Mache die Nachrichten-IDs über die öffentliche Header-Schnittstelle verfügbar, damit die gezeigte Verwendung von In-Reply-To und References ohne privaten Zugriff funktioniert, und überprüfe, dass die verfügbar gemachten Werte die vorhandenen Nachrichten-ID-Informationen bewahren.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

stdlib topic-email type-feature

Feature or enhancement

Proposal:

When sending, parsing or validating mails which are replies to other mails it is necessary to access the message IDs from the In-Reply-To and References headers. These, however, are currently not exposed.

# Example use case
if "In-Reply-To" in msg and "References" in msg:
    [in_reply_to_token] = msg["In-Reply-To"].message_ids
    [*_, most_recent_reference_token] = msg["References"].message_ids

    if in_reply_to_token.value != most_recent_reference_token.value:
        raise ValueError(f"Error: References list end must match In-Reply-To message ID")

A workaround is to access the private _parse_tree property which does expose the message_id, though like any private property that should obviously be avoided. This is comparable to AddressHeader which already exposes addresses.

Has this already been discussed elsewhere?

This is a minor feature, which does not need previous discussion elsewhere

Links to previous discussion of this feature:

No response

Vorherrschende Sprache
Python
Sterne
77.2k
Forks
36k
Ø Merge
1 T. 9 Std.
Gemergte PRs (30 T.)
558

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus python/cpython

Alle Issues in python/cpython

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.