UnicodeEncodeError when sending e-mails with some iso-8859 characters (€ symbol)
@pengfeiye ya está trabajando en esto.
Desde el 15/1/2026.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
Describe the bug
On last version (nylas==6.14.0), I'm getting an UnicodeEncodeError when sending an e-mail with a message body payload containing some special characters. The € currency symbol raise the error for example.
To Reproduce
With the following payload and Nylas client usage:
from nylas import Client
message = {
'subject': 'Test envoi avec accent',
'attachments': [],
'from': [{'name': 'Maxime L', 'email': '[email protected]'}],
'cc': [],
'bcc': [],
'to': [{'name': '', 'email': '[email protected]'}],
'reply_to': []
'body': '<p>À noter que lorem ipsum dolor sit...même éàçéàéà<br /><br />€€€€ ça c\'est de l\'euro</p>\r\n<br />---<br />Me',
}
client = Client("some-api-key", "some Nylas root URL")
client.messages.send(
"123456abcdef", # my grant is valid
request_body=message
)
The following exception is raised:
ERROR 'latin-1' codec can't encode characters in position 430-433: Body ('€€€€') is not valid Latin-1. Use body.encode('utf-8') if you want to send it encoded in UTF-8.
Traceback (most recent call last):
File "my_code.py", line 419, in send
client.messages.send(
File "~venv_packages/nylas/resources/messages.py", line 196, in send
json_response, headers = self._http_client._execute(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
[...]
File "/usr/local/lib/python3.12/http/client.py", line 1327, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/usr/local/lib/python3.12/http/client.py", line 1372, in _send_request
body = _encode(body, 'body')
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/http/client.py", line 166, in _encode
raise UnicodeEncodeError(
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 430-433: Body ('€€€€') is not valid Latin-1. Use body.encode('utf-8') if you want to send it encoded in UTF-8.
(characters position slightly changed as I simplified my payload for anonymization)
Expected behavior
E-mail sent without errors, which is the behaviour on nylas 6.13.0 package and earlier.
SDK Version:
6.14.0.
- Lenguaje dominante
- Python
- Estrellas
- 109
- Forks
- 85
- Merge medio
- 8 h 41 min
- PR fusionados (30 d)
- 3
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la 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.
Más de nylas/nylas-python
-
Attachment downloads ignore request URL and header overridesPosiblemente ocupada @Kayvan-Zahiri la tomó hace 2 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 39/100
nylas/nylas-python#491 ·
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 48/100
nylas/nylas-python#455 ·
-
Bug: drafts.create() fails with TypeError for multipart requests (attachments > 3MB)Posiblemente ocupada @benjaminwhtan la tomó hace 266 días. Abierto
nylas/nylas-python#454 · 3 comentarios · 1 asignado ·
-
Create an async version of the clientQuizá libre de nuevo @AaronDDM la tomó hace 495 días y no hay ningún pull request abierto. Abiertoenhancement
nylas/nylas-python#412 · 1 comentario · 5 reacciones · 1 asignado ·
-
bug
Dificultad 3/5 1-2 días Aptitud para principiantes 38/100
nylas/nylas-python#402 · 1 reacción ·
Todos los issues de nylas/nylas-python
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
mohitmishra786/readprism#322 ·
Los mantenedores suelen responder en 1 día
-
good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
API-key credentials accept a blank key: empty via the API, spaces-only via the builder's Add API key dialogPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
Significant-Gravitas/AutoGPT#15727 ·
Los mantenedores suelen responder en 1 día