邮件发送失败,提示user_reset 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128)

按照教程在 seahub_settings.py 中配置邮件服务器后,发送邮件会打印如下错误日志:
[ERROR] seahub.views.sysadmin:1048 user_reset ‘ascii’ codec can’t decode byte 0xe5 in position 0: ordinal not in range(128)

自问自答:
目前临时的解决方案是修改seafile-server-latest/seahub/seahub/utils/__init__.py 文件,加入代码:

import sys
reload(sys)
sys.setdefaultencoding(‘utf8’)

不过这种方式现在好像是不推荐使用了,不是专业搞 Python 的,凑合能解决问题吧

1 个赞

遇到同样的问题,是6.3.3版本bug吗

你能把自己的部署环境描述下吗,操作系统,邮件服务器,配置文件等,最好能提供一些截图信息,以便我们定位问题,因为我在本地Linux上部署了开原版6.3.3,测试了以下QQ邮箱,貌似没有问题

环境:Centos 7/Nginx/seafile6.3.3社区版
之前也是163的邮箱,一直无问题,最近(也没留意多久)发送邮件失败,参考了https://manual-cn.seafile.com/config/sending_email.html 配置为QQ邮箱,问题依旧,检查seahub.log,提示:
[ERROR] seahub.views.sysadmin:1056 user_reset ‘ascii’ codec can’t decode byte 0xe4 in position 4: ordinal not in range(128)

你方便把你的配置文件完整的seahub_settings.py贴出来看下吗

好的,以下仅隐藏了私密信息

-- coding: utf-8 --

SECRET_KEY = “*****”

DATABASES = {
‘default’: {
‘ENGINE’: ‘django.db.backends.mysql’,
‘NAME’: ‘seahub-db’,
‘USER’: ‘seafile’,
‘PASSWORD’: ‘***’,
‘HOST’: ‘127.0.0.1’,
‘PORT’: ‘3306’
}
}

CACHES = {
‘default’: {
‘BACKEND’: ‘django.core.cache.backends.memcached.MemcachedCache’,
‘LOCATION’: ‘127.0.0.1:11211’,
}
}

FILE_SERVER_ROOT = ‘http://***.com.cn:9000/seafhttp’

EMAIL_USE_SSL = True
EMAIL_HOST = ‘smtp.qq.com
EMAIL_HOST_USER = ‘*****@qq.com
EMAIL_HOST_PASSWORD = ‘*******’
EMAIL_PORT = ‘465’
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
SERVER_EMAIL = EMAIL_HOST_USER

SITE_TITLE = ‘*****’

Enable Only Office

ENABLE_ONLYOFFICE = True
VERIFY_ONLYOFFICE_CERTIFICATE = False
ONLYOFFICE_APIJS_URL = ‘http://****.com.cn:9980/web-apps/apps/api/documents/api.js’
ONLYOFFICE_FILE_EXTENSION = (‘doc’, ‘docx’, ‘ppt’, ‘pptx’, ‘xls’, ‘xlsx’, ‘odt’, ‘fodt’, ‘odp’, ‘fodp’, ‘ods’, ‘fods’)
ONLYOFFICE_EDIT_FILE_EXTENSION = (‘docx’, ‘pptx’, ‘xlsx’)

#以下测试
USE_PDFJS = True
ENABLE_VIDEO_THUMBNAIL = True
THUMBNAIL_VIDEO_FRAME_TIME = 5
#THUMBNAIL_SIZE_FOR_ORIGINAL = 1024
TEXT_PREVIEW_EXT = “”“ac, am, bat, c, cc, cmake, cpp, cs, css, diff, el, h, html,
htm, java, js, json, less, make, org, php, pl, properties, py, rb,
scala, script, sh, sql, txt, text, tex, vi, vim, xhtml, xml, log, csv,
groovy, rst, patch, go”""

image
我把你这里边字符串复制到文本编辑器中打开,发现他应该是中文的单引号,所以建议你在检查下这些字符串的字符格式问题,日志里的报错看着也是跟字符有关的问题,文本编辑器中的现象如下:
image

感谢回复!我在seahub_settings.py文件中确认过,单引号确实是半角的,网页上可能是html自动转码了
另在百度上查找错误,此问题可能是代码不能正确识别utf-8编码造成的。。。。