Ascii编码无法编码字符,当发送电子邮件时

2024-05-29 03:07:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用python发送电子邮件,但发送时收到以下错误消息:

enter image description here

代码:

if Quantidade <= Minimo:
   remetente    = 'xxxxxxxxxxxxxxxxxx'
   senha        = 'xxxxxxxxx'

   destinatario = ['xxxxxxxxxxxxxxxxxxxxx', 'xxxxxxxxxxxxxxxxxxxxxx']
   assunto      = 'Stock Papelaria'
   texto        = 'O seguinte produto: {} encontra-se com a quantidade ({}) de stock igual ou inferior ao stock minimos.'.format(
        Produto, Quantidade)

   msg = '\r\n'.join([
      'From: %s' % remetente,
      'To: %s' % destinatario,
      'Subject: %s' % assunto,
      '',
      '%s' % texto
   ])

   server = smtplib.SMTP('smtp.gmail.com:587')
   server.starttls()
   server.login(remetente,senha)
   server.sendmail(remetente, destinatario, msg)
   server.quit()

我得到的错误在文本行中,在那里我有产品和数量变量。 我怎样才能解决这个问题


Tags: 代码com消息ifserver电子邮件错误stock
1条回答
网友
1楼 · 发布于 2024-05-29 03:07:56

此错误通常是由于所处理的字符串值之间不一致而发生的,主要是由于str类型的变量与unicode类型的变量混合。基于Unicode HOWTO,我们必须将其正确编码为utf-8。所以Produto变成了Produto.encode("utf-8")

相关问题 更多 >

    热门问题