【发布时间】:2016-02-20 23:11:01
【问题描述】:
我正在尝试将 SMTP 实时服务器作为 django 中的单独应用程序。每当我尝试运行 smtp 文件 python smtp.py 来监听传入消息并将它们存储在模型中时,我都会收到 ImproperlyConfigured 错误。
smtp.py
import os
import smtpd
import asyncore
import datetime
from models import IncomingEmail
from email.parser import Parser
class MessageServer():
def __call__(self, peer, mailfrom, recipients, data):
email = Parser().parsestr(data)
incomingDb = IncomingEmail(
sender=mailfrom, recipient=recipients,
message=data, subject=email['subject'],
recevied=datetime.datetime.now()
)
incomingDb.save()
class customSMTPServer(smtpd.SMTPServer):
process_message = MessageServer()
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "hello.settings")
server = customSMTPServer(('localhost', 1025), None)
print "Started listening at port 1025"
try:
asyncore.loop()
except KeyboardInterrupt:
server.close()
项目结构:
hello/
manage.py
hello/
__init__.py
settings.py
urls.py
wsgi.py
smtp/
smtp.py
models.py
__init__.py
api/
admin.py
apps.py
urls.py
views.py
错误:
django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE, but settings are not configured. You must either define the environ
ment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
【问题讨论】: