首页 > 解决方案 > LookupError:未知编码:-

问题描述

我一直收到此错误,不知道如何解决。有任何想法吗?

填充物,因为我必须添加更多细节并且不知道要写什么所以忽略这个

import smtplib, ssl
from email.message import EmailMessage
import mysql.connector


mydb = mysql.connector.connect(
  host='localhost',
  database='notgettingthis',
  user='neitherthis',
  password='verynicepass'
)

cursor = mydb.cursor(buffered=True)

food1m = "SELECT * FROM thing WHERE fhfhfhf='e' ORDER BY RAND() LIMIT 4;"
cursor.execute(thing)
thing1 = cursor.fetchone()[1]
thing2 = cursor.fetchone()[1]
thing3 = cursor.fetchone()[1]
thing4 = cursor.fetchone()[1]


msg1 = EmailMessage()
msg1.set_content("""blablablablablablablabla:

-""", str(thing1), """
-""", str(thing2), """
-""", str(thing3), """
-""", str(thing4)
)
msg1["Subject"] = "subject"
msg1["From"] = "example@gmail.com"
msg1["To"] = "exampple@gmail.com"

context = ssl.create_default_context()
with smtplib.SMTP("smtp.example.com", port=587) as smtp:
    smtp.starttls(context=context)
    smtp.login(msg1["From"], "pass")
    smtp.send_message(msg1)

完整的错误和回溯:

Traceback (most recent call last):
  File "c:\Users\Lundqvist\Desktop\food\weekstuff.py", line 24, in <module>
    msg1.set_content("""Las comidas que tu vas a preparar esta semana son las siguientes:
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.1264.0_x64__qbz5n2kfra8p0\lib\email\message.py", line 1171, in set_content
    super().set_content(*args, **kw)
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.1264.0_x64__qbz5n2kfra8p0\lib\email\message.py", line 1101, in set_content
    content_manager.set_content(self, *args, **kw)
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.1264.0_x64__qbz5n2kfra8p0\lib\email\contentmanager.py", line 37, in set_content
    handler(msg, obj, *args, **kw)
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.1264.0_x64__qbz5n2kfra8p0\lib\email\contentmanager.py", line 185, in set_text_content
    cte, payload = _encode_text(string, charset, cte, msg.policy)
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.1264.0_x64__qbz5n2kfra8p0\lib\email\contentmanager.py", line 143, in _encode_text
    lines = string.encode(charset).splitlines()
LookupError: unknown encoding:
-

标签: python

解决方案


set_content方法感知所有这些:

"""blablablablablablablabla:

-""", str(thing1), """
-""", str(thing2), """
-""", str(thing3), """
-""", str(thing4)

作为单独的参数,因为它们用逗号分隔。我假设您想将所有这些连接在一起的参数发送到msg参数(请参阅this)。

改变

msg1.set_content("""blablablablablablablabla:

-""", str(thing1), """
-""", str(thing2), """
-""", str(thing3), """
-""", str(thing4)
)

msg1.set_content("""blablablablablablablabla:

-""" + str(thing1) + """
-""" + str(thing2) + """
-""" + str(thing3) + """
-""" + str(thing4)
)

推荐阅读