Crossfire Server, Trunk
send.py
Go to the documentation of this file.
1 # send.py - Script for close event of mailbox
2 #
3 # Copyright (C) 2002 Joris Bontje
4 #
5 # This program is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 2 of the License, or
8 # (at your option) any later version.
9 #
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
14 #
15 # You should have received a copy of the GNU General Public License
16 # along with this program; if not, write to the Free Software
17 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18 #
19 # The author can be reached via e-mail at jbontje@suespammers.org
20 #
21 #Updated to use new path functions in CFPython -Todd Mitchell
22 
23 import Crossfire
24 import CFMail
25 import string
26 from time import localtime, strftime, time
27 
28 mail = CFMail.CFMail()
29 date = strftime("%a, %d %b %Y %H:%M:%S %Z", localtime(time()))
30 activator = Crossfire.WhoIsActivator()
31 activatorname = activator.Name
32 whoami = Crossfire.WhoAmI()
33 idlist = []
34 
35 inv = whoami.Inventory
36 while inv:
37  text = inv.Name.split()
38  if text[0] == 'mailscroll' or text[0] == 'mailwarning':
39  if text[0] == 'mailscroll':
40  type = 1
41  else:
42  type = 3
43  if text[1] == 'T:' and text[3] == 'F:':
44  idlist.append(inv)
45  toname = text[2]
46  fromname = text[4]
47  message = 'From: %s\nTo: %s\nDate: %s\n\n%s\n'%(fromname, toname, date, inv.Message[:-1])
48  activator.Write(text[0]+' to '+toname+' sent.')
49  mail.send(type, toname, fromname, message)
50  elif text[1] == 'F:' and text[3] == 'T:':
51  idlist.append(inv)
52  fromname = text[2]
53  toname = text[4]
54  message = inv.Message[:-1]+'\n'
55  mail.send(type, toname, fromname, message)
56  inv = inv.Below
57 
58 for inv in idlist:
59  inv.Remove()
CFMail.CFMail
Definition: CFMail.py:28