我正在编写一个python / django脚本,我需要解析来自gmail电子邮件主题的最新消息。我正在使用“django-mailbox”应用程序(https://github.com/latestrevision/django-mailbox)进入我的gmail帐户并将电子邮件放入sqllite表中:
CREATE TABLE "django_mailbox_message" (
"id" integer NOT NULL PRIMARY KEY,
"mailbox_id" integer NOT NULL REFERENCES "django_mailbox_mailbox" ("id"),
"subject" varchar(255) NOT NULL,
"message_id" varchar(255) NOT NULL,
"in_reply_to_id" integer,
"from_header" varchar(255) NOT NULL,
"to_header" text NOT NULL,
"outgoing" bool NOT NULL,
"body" text NOT NULL,
"encoded" bool NOT NULL,
"processed" datetime NOT NULL,
"read" datetime
)
我试图通过使用以下django视图抓取主题中包含“Re:..”的第一封电子邮件来测试这个:
def hello(request):
from django_mailbox.models import Message
import base64
qs = Message.objects.filter(subject__contains="Re:")
if qs.count() > 0:
first = qs[0] // grab the first gmail message with subject containing Re:
else:
output = "empty"
newline = base64.b64decode(first.body)
return HttpResponse(newline)
这一切都有效,但是消息的解码主体很难通过标题信息和实际消息文本的混合来解密。是否可以首先进行进一步处理,以使单个消息更容易分离。我只是想在一个帖子中抓取最新的消息。