Commit 172bed30 authored by Jeffrey Shell's avatar Jeffrey Shell

The grand "Should Be Working" version...

parent af37382a
from Globals import Persistent, HTMLFile, HTML from Globals import Persistent, HTMLFile, HTML
from socket import * from socket import *
import Acquisition, sys, regex, string import Acquisition, sys, regex, string, types
#$Id: MailHost.py,v 1.4 1997/09/10 15:07:18 jeffrey Exp $ #$Id: MailHost.py,v 1.5 1997/09/10 18:41:19 jeffrey Exp $
__version__ = "$Revision: 1.4 $"[11:-2] __version__ = "$Revision: 1.5 $"[11:-2]
smtpError = "SMTP Error" smtpError = "SMTP Error"
MailHostError = "MailHost Error" MailHostError = "MailHost Error"
...@@ -41,10 +41,7 @@ class MailHost(Persistent, Acquisition.Implicit): ...@@ -41,10 +41,7 @@ class MailHost(Persistent, Acquisition.Implicit):
self.localHost=localHost self.localHost=localHost
self.smtpHost=smtpHost self.smtpHost=smtpHost
self.smtpPort=smtpPort self.smtpPort=smtpPort
return self.manage(self,REQUEST) return self.manage_main(self,self.REQUEST)
def __log(self):
self.sentMessages=self.sentMessages + 1
def sendTemplate(trueself, self, messageTemplate, def sendTemplate(trueself, self, messageTemplate,
statusTemplate=None, mto=None, mfrom=None, REQUEST): statusTemplate=None, mto=None, mfrom=None, REQUEST):
...@@ -66,13 +63,13 @@ class MailHost(Persistent, Acquisition.Implicit): ...@@ -66,13 +63,13 @@ class MailHost(Persistent, Acquisition.Implicit):
subj=headers['subject'], body=messageText subj=headers['subject'], body=messageText
) )
self.__log() if statusTemplate:
return ("sent","sent...") return getattr(self,statusTemplate)(self, self.REQUEST,
#return getattr(self,statusTemplate)(self, self.REQUEST, messageText=message)
# messageText=message) else:
return "SEND OK"
def send(self, messageText, mto=None, mfrom=None): def send(self, messageText, mto=None, mfrom=None):
'send a rendered message'
headers, message = newDecapitate(messageText) headers, message = newDecapitate(messageText)
if mto: headers['to'] = mto if mto: headers['to'] = mto
if mfrom: headers['from'] = mfrom if mfrom: headers['from'] = mfrom
...@@ -85,18 +82,10 @@ class MailHost(Persistent, Acquisition.Implicit): ...@@ -85,18 +82,10 @@ class MailHost(Persistent, Acquisition.Implicit):
mfrom=headers['from'], mto=headers['to'], mfrom=headers['from'], mto=headers['to'],
subj=headers['subject'], body=messageText) subj=headers['subject'], body=messageText)
self.__log()
return ("sent","sent...")
#return getattr(self,statusTemplate)(self, self.REQUEST,
# messageText=message)
def simple_send(self, mto, mfrom, subject, body): def simple_send(self, mto, mfrom, subject, body):
'like the simplist send or something'
body="subject: %s\n\n%s" % (subject, body) body="subject: %s\n\n%s" % (subject, body)
SendMail(self.smtpHost, self.smtpPort, self.localHost).send( SendMail(self.smtpHost, self.smtpPort, self.localHost).send(
mfrom=mfrom, mto=mto, subj=subject, body=body) mfrom=mfrom, mto=mto, subj=subject, body=body)
self.__log()
return ("sent","sent...")
class SendMail: class SendMail:
def __init__(self, smtpHost, smtpPort, localHost="localhost"): def __init__(self, smtpHost, smtpPort, localHost="localhost"):
...@@ -116,7 +105,7 @@ class SendMail: ...@@ -116,7 +105,7 @@ class SendMail:
def send(self, mfrom, mto, subj, body): def send(self, mfrom, mto, subj, body):
self.conn.send("mail from:<%s>\n"%mfrom) self.conn.send("mail from:<%s>\n"%mfrom)
self._check() self._check()
if type(mto) == type([1,2]): if type(mto) in [types.ListType, types.TupleType]:
for person in mto: for person in mto:
self.conn.send("rcpt to:<%s>\n" % person) self.conn.send("rcpt to:<%s>\n" % person)
self._check() self._check()
...@@ -148,6 +137,12 @@ def newDecapitate(message): ...@@ -148,6 +137,12 @@ def newDecapitate(message):
string.strip(header_re.group('headerText')) string.strip(header_re.group('headerText'))
linecount=linecount+1 linecount=linecount+1
if headerDict.has_key('to'):
headerDict['to']=map(
lambda x: string.strip(x),
string.split(headerDict['to'], ',')
)
body=string.join(maxwell[linecount:],'\n') body=string.join(maxwell[linecount:],'\n')
return headerDict, body return headerDict, body
...@@ -198,6 +193,6 @@ def decapitate(message, ...@@ -198,6 +193,6 @@ def decapitate(message,
return (headerDict, body) return (headerDict, body)
#$Log: MailHost.py,v $ #$Log: MailHost.py,v $
#Revision 1.4 1997/09/10 15:07:18 jeffrey #Revision 1.5 1997/09/10 18:41:19 jeffrey
#and converted tabs back to spaces in source.. sorry! #The grand "Should Be Working" version...
## ##
\ No newline at end of file
...@@ -6,14 +6,13 @@ ...@@ -6,14 +6,13 @@
<BODY BGCOLOR="#FFFFFF"> <BODY BGCOLOR="#FFFFFF">
<TABLE> <TABLE>
<TR> <TR>
<TD ALIGN=RIGHT><H3><I>All about me:</I></H3></TD> <TD ALIGN=RIGHT><H3><I>About MailHost <U><!--#var title--></U>:</I></H3></TD>
</TR> </TR>
<TR> <TR>
<TD BGCOLOR="#CCCCCC"> <TD BGCOLOR="#CCCCCC">
<B>Title: </B><FONT COLOR="#CC0000"><!--#var title--></FONT><BR> <B>Title: </B><FONT COLOR="#CC0000"><!--#var title--></FONT><BR>
<B>Mail Host: </B><FONT COLOR="#CC0000"><!--#var smtpHost--></FONT><BR> <B>Mail Host: </B><FONT COLOR="#CC0000"><!--#var smtpHost--></FONT><BR>
<B>Mail Port: </B><FONT COLOR="#CC0000"><!--#var smtpPort--></FONT><BR> <B>Mail Port: </B><FONT COLOR="#CC0000"><!--#var smtpPort--></FONT><BR>
<B>Messages sent: </B><FONT COLOR="#CC0000"><!--#var sentMessages--></FONT>
</TD> </TD>
</TR> </TR>
</TABLE> </TABLE>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment