email.utils.formataddr incorrect handling of unicode names with comma

Aberta
#100,900 1 comentário 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
35/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Estagnada
Stack de tecnologia
python
Domínio
backend

Direção de pesquisa

Comece executando no CPython 3.11.1 a reprodução fornecida de email.charset e email.utils.formataddr e, em seguida, inspecione como formataddr trata nomes de exibição não ASCII que contêm vírgulas. Está concluído quando a saída corresponde às duas linhas To esperadas e um teste de regressão cobre o caso 8bit configurado.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

topic-email type-bug

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
Linguagem predominante
Python
Estrelas
77.2k
Forks
36k
Merge médio
1d 9h
PRs com merge (30d)
558

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de python/cpython

Todas as issues de python/cpython

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.