我正在使用python发送电子邮件,但是在发送时收到此错误消息:
代码:
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()
我得到的错误是在文本行中,在该行中有产品和数量变量。 我该如何解决这个问题?
答案 0 :(得分:1)
此错误通常是由于要处理的字符串值之间不一致而发生的,主要是将类型为str
的变量与类型为unicode
的变量混合在一起。基于Unicode HOWTO,我们必须将其正确编码为utf-8
。因此Produto
改为Produto.encode("utf-8")
。