Expose message ID list from `ReferencesHeader`
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Python
- Estrellas
- 77.2k
- Forks
- 35.9k
- Métricas de merge de PR
- Métricas de PR pendientes
Descripción
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
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Empieza leyendo ReferencesHeader y la API existente de AddressHeader; después, inspecciona cómo expone actualmente ReferencesHeader sus datos privados de _parse_tree. Haz que los IDs de mensaje estén disponibles mediante la interfaz pública de headers para que el uso mostrado de In-Reply-To y References funcione sin acceso privado, y verifica que los valores expuestos conserven la información existente de los IDs de mensaje.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- backend
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Estado de actividad
- Tranquilo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 70/100