email.utils.formataddr incorrect handling of unicode names with comma
Ouverte
Personne n'a encore pris cette issue.
topic-email
type-bug
- Langage dominant
- Python
- Étoiles
- 77.2k
- Forks
- 36k
- Merge moyen
- 1 j 9 h
- PR mergées (30 j)
- 558
Description
Bug report
When email.charset is configured to produce 8bit content, calling email.utils.formataddr can result in corrupted output from formataddr. Here's example code:
import email.charset
import email.utils
email.charset.add_charset('utf-8', None)
print("To: " + email.utils.formataddr(('Foo, Bar', 'foo@example.com')))
print("To: " + email.utils.formataddr(('Fôo, Bar', 'foo@example.com')))
Expected output:
To: "Foo, Bar" <foo@example.com>
To: "Fôo, Bar" <foo@example.com>
Actual output:
To: "Foo, Bar" <foo@example.com>
To: Fôo, Bar <foo@example.com>
Your environment
- CPython versions tested on: 3.11.1
- Operating system and architecture: Fedora 37 x86_64
Linked PRs
- gh-155881
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par exécuter sur CPython 3.11.1 la reproduction fournie de email.charset et email.utils.formataddr, puis examinez la gestion par formataddr des noms d’affichage non ASCII contenant des virgules. C’est terminé lorsque la sortie correspond aux deux lignes To attendues et qu’un test de régression couvre le cas 8bit configuré.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- backend
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Clairement spécifiée
- Accessibilité débutants
- 35/100