mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-19 05:58:34 +02:00
First working implementation of ticket #3.
This commit is contained in:
Executable
+44
@@ -0,0 +1,44 @@
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import sys
|
||||
from email.mime.text import MIMEText
|
||||
import datetime
|
||||
from django.conf import settings
|
||||
from mailng.admin.models import Mailbox
|
||||
from mailng.main.models import ARmessage, ARhistoric
|
||||
|
||||
if __name__ == "__main__":
|
||||
if len(sys.argv) != 3:
|
||||
print "Not enough arguments, aborting."
|
||||
sys.exit(1)
|
||||
|
||||
sender = sys.argv[1]
|
||||
mailbox = sys.argv[2]
|
||||
mbox = Mailbox.objects.get(full_address=mailbox)
|
||||
try:
|
||||
armessage = ARmessage.objects.get(mbox=mbox.id, enabled=True)
|
||||
except ARmessage.DoesNotExist:
|
||||
sys.exit(0)
|
||||
try:
|
||||
lastar = ARhistoric.objects.get(armessage=armessage.id, sender=sender)
|
||||
try:
|
||||
timeout = getattr(settings, "AUTOREPLIES_TIMEOUT")
|
||||
except AttributeError:
|
||||
timeout = 86400 # 24h
|
||||
delta = datetime.timedelta(seconds=timeout)
|
||||
if lastar.last_sent + delta > datetime.datetime.now():
|
||||
sys.exit(0)
|
||||
except ARhistoric.DoesNotExist:
|
||||
lastar = ARhistoric()
|
||||
lastar.armessage = armessage
|
||||
lastar.sender = sender
|
||||
|
||||
msg = MIMEText(armessage.content.encode('utf-8'), _charset='utf-8')
|
||||
msg['Subject'] = armessage.subject
|
||||
msg['From'] = mailbox
|
||||
msg['To'] = sender
|
||||
print msg
|
||||
lastar.last_sent = datetime.datetime.now()
|
||||
lastar.save()
|
||||
sys.exit(0)
|
||||
Reference in New Issue
Block a user