Python - Codificación de email con acentos y eñes.

 
Vista:
Imágen de perfil de Jose A.
Val: 13
Ha disminuido su posición en 10 puestos en Python (en relación al último mes)
Gráfica de Python

Codificación de email con acentos y eñes.

Publicado por Jose A. (12 intervenciones) el 05/12/2021 19:56:13
Hola canal,
Tengo que enviar una serie de emails,

Código:

class Mail:
def __init__(self):
self.port = 465
self.smtp_server_domain_name = "smtp.gmail.com"
self.sender_mail = "sort*******@gmail.com"
self.password = "*******"

def send(self, subject, content):
ssl_context = ssl.create_default_context()
service = smtplib.SMTP_SSL(self.smtp_server_domain_name, self.port, context=ssl_context)
service.command_encoding
90 service.login(self.sender_mail, self.password)
91 emails = list()
92 for i in range(45,50):
93 #print (lineas[i].replace('\n','')) #'lineas' contiene los emails destino
94 if lineas[i][:1] == '1':
95 emails.append(lineas[i][1:])
96 for email in emails:
97 result = service.command_encoding='utf8'
98 result = service.sendmail(self.sender_mail, email,f"Subject:{subject}\n{content}")
99 service.quit()
100 print ('ENVIADOS.-')

pero cuando el cuerpo tiene acentos o eñes, me arroja el siguiente mensaje de error :

File "D:\Sort\python\sort\Sort-cion.py", line 98, in send
result = service.sendmail(self.sender_mail, email,f"Subject:{subject}\n{content}")
File "C:\Users\Jose\AppData\Local\Programs\Python\Python39\lib\smtplib.py", line 870, in sendmail
msg = _fix_eols(msg).encode('ascii')
UnicodeEncodeError: 'ascii' codec can't encode character '\xf3' in position 31: ordinal not in range(128)

He buscado por aqui y por allá, sin ningún éxito y haciendo otras pruebas por mi cuenta, con el mismo resultado. Os agradeceria una orientación o si os a ocurrido alguien y la forma de solucionarlo.
Gracias anticipadas.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Plutarco
Val: 45
Ha disminuido 1 puesto en Python (en relación al último mes)
Gráfica de Python

Codificación de email con acentos y eñes.

Publicado por Plutarco (24 intervenciones) el 06/12/2021 21:19:30
Hola buenas tardes

Ya trataste de codificarlos?
service.command_encoding = 'utf-8'

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar