Commit f12c21df authored by Jeffrey Shell's avatar Jeffrey Shell

New send features _somewhat_ working. simple_send works (litely),

sentTemplate works, but does not (yet) completely overthrow the to: from:
headers...
parent c26432ee
...@@ -2,22 +2,19 @@ from Globals import Persistent, HTMLFile, HTML ...@@ -2,22 +2,19 @@ from Globals import Persistent, HTMLFile, HTML
from socket import * from socket import *
import Acquisition, sys, regex, string import Acquisition, sys, regex, string
#$Id: MailHost.py,v 1.1 1997/09/09 20:50:29 jeffrey Exp $ #$Id: MailHost.py,v 1.2 1997/09/09 21:33:41 jeffrey Exp $
__version__ = "$Revision: 1.1 $"[11:-2] __version__ = "$Revision: 1.2 $"[11:-2]
smtpError = "SMTP Error" smtpError = "SMTP Error"
MailHostError = "MailHost Error" MailHostError = "MailHost Error"
addForm=HTMLFile('MailHost/addMailHost_form') addForm=HTMLFile('MailHost/addMailHost_form')
def add(self, id='aMailHost', title='Some mail thing', smtp_host=None, def add(self, id='aMailHost', title='Some mail thing', smtp_host=None,
localhost='localhost', smtp_port=25, mailTemplate=None, localhost='localhost', smtp_port=25, REQUEST):
errorTemplate=None, sentMailTemplate=None, REQUEST):
' add a MailHost into the system ' ' add a MailHost into the system '
i=MailHost() #create new mail host i=MailHost() #create new mail host
i.id=id #give it id i.id=id #give it id
i.title=title #title i.title=title #title
i._init(localHost=localhost, smtpHost=smtp_host, smtpPort=smtp_port, i._init(localHost=localhost, smtpHost=smtp_host, smtpPort=smtp_port)
mailTemplate=mailTemplate, errorTemplate=errorTemplate,
sentMailTemplate=sentMailTemplate)
self._setObject(id,i) #register it self._setObject(id,i) #register it
return self.manage_main(self,REQUEST) #and whatever this does.. :) return self.manage_main(self,REQUEST) #and whatever this does.. :)
...@@ -50,14 +47,14 @@ class MailHost(Persistent, Acquisition.Implicit): ...@@ -50,14 +47,14 @@ class MailHost(Persistent, Acquisition.Implicit):
self.sentMessages=self.sentMessages + 1 self.sentMessages=self.sentMessages + 1
def sendTemplate(trueself, self, messageTemplate, def sendTemplate(trueself, self, messageTemplate,
statusTemplate=None, to=None, from=None, REQUEST): statusTemplate=None, mto=None, mfrom=None, REQUEST):
'render a mail template, then send it...' 'render a mail template, then send it...'
mtemplate = getattr(self, messageTemplate) mtemplate = getattr(self, messageTemplate)
messageText = mtemplate(self, trueself.REQUEST) messageText = mtemplate(self, trueself.REQUEST)
headers, message = decapitate(messageText) headers, message = decapitate(messageText)
if to: headers['to'] = to if mto: headers['to'] = mto
if from: headers['from'] = from if mfrom: headers['from'] = mfrom
for requiredHeader in ('to', 'from', 'subject'): for requiredHeader in ('to', 'from', 'subject'):
if not headers.has_key(requiredHeader): if not headers.has_key(requiredHeader):
raise MailHostError,"Message missing SMTP Header '%s'"\ raise MailHostError,"Message missing SMTP Header '%s'"\
...@@ -74,11 +71,11 @@ class MailHost(Persistent, Acquisition.Implicit): ...@@ -74,11 +71,11 @@ class MailHost(Persistent, Acquisition.Implicit):
#return getattr(self,statusTemplate)(self, self.REQUEST, #return getattr(self,statusTemplate)(self, self.REQUEST,
# messageText=message) # messageText=message)
def send(self, messageText, to=None, from=None): def send(self, messageText, mto=None, mfrom=None):
'send a rendered message' 'send a rendered message'
headers, message = decapitate(messageText) headers, message = decapitate(messageText)
if to: headers['to'] = to if mto: headers['to'] = mto
if from: headers['from'] = from if mfrom: headers['from'] = mfrom
for requiredHeader in ('to', 'from', 'subject'): for requiredHeader in ('to', 'from', 'subject'):
if not headers.has_key(requiredHeader): if not headers.has_key(requiredHeader):
raise MailHostError,"Message missing SMTP Header '%s'"\ raise MailHostError,"Message missing SMTP Header '%s'"\
...@@ -93,10 +90,11 @@ class MailHost(Persistent, Acquisition.Implicit): ...@@ -93,10 +90,11 @@ class MailHost(Persistent, Acquisition.Implicit):
#return getattr(self,statusTemplate)(self, self.REQUEST, #return getattr(self,statusTemplate)(self, self.REQUEST,
# messageText=message) # messageText=message)
def simple_send(self, to, from, subject, body): def simple_send(self, mto, mfrom, subject, body):
'like the simplist send or something' 'like the simplist send or something'
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=from, mto=to, subj=subject, body=body) mfrom=mfrom, mto=mto, subj=subject, body=body)
self.__log() self.__log()
return ("sent","sent...") return ("sent","sent...")
...@@ -226,6 +224,11 @@ def decapitate(message, ...@@ -226,6 +224,11 @@ def decapitate(message,
return headerDict, body return headerDict, body
#$Log: MailHost.py,v $ #$Log: MailHost.py,v $
#Revision 1.2 1997/09/09 21:33:41 jeffrey
#New send features _somewhat_ working. simple_send works (litely),
#sentTemplate works, but does not (yet) completely overthrow the to: from:
#headers...
#
#Revision 1.1 1997/09/09 20:50:29 jeffrey #Revision 1.1 1997/09/09 20:50:29 jeffrey
#Managed changing of names. #Managed changing of names.
# #
\ No newline at end of file
<HTML> <HTML>
<HEAD> <HEAD>
<TITLE>Add a MailForm</TITLE> <TITLE>Add a MailHost</TITLE>
</HEAD> </HEAD>
<BODY BGCOLOR="#FFFFFF"> <BODY BGCOLOR="#FFFFFF">
<H1>Add a MailForm</H1> <H1>Add a MailHost</H1>
<FORM ACTION="<!--#var PARENT_URL-->/manage_addMailForm" METHOD="POST"> <FORM ACTION="<!--#var PARENT_URL-->/manage_addMailHost" METHOD="POST">
<TABLE CELLSPACING="2"> <TABLE CELLSPACING="2">
<!--#var smallRolesWidget--> <!--#var smallRolesWidget-->
<TR VALIGN="TOP"> <TR VALIGN="TOP">
<TD ALIGN="LEFT"><B>Id</B></TD> <TD ALIGN="LEFT"><B>Id</B></TD>
<TD ALIGN="LEFT"> <TD ALIGN="LEFT">
<INPUT TYPE="TEXT" NAME="id" SIZE="50" value="MailForm"> <INPUT TYPE="TEXT" NAME="id" SIZE="50" value="MailHost">
</TD> </TD>
</TR> </TR>
<TR VALIGN="TOP"> <TR VALIGN="TOP">
...@@ -38,42 +38,9 @@ ...@@ -38,42 +38,9 @@
<INPUT TYPE="TEXT" NAME="smtp_port:int" SIZE="4" VALUE="25"> <INPUT TYPE="TEXT" NAME="smtp_port:int" SIZE="4" VALUE="25">
</TD> </TD>
</TR> </TR>
<TR VALIGN="TOP">
<TD BGCOLOR="#555555" COLSPAN=2>&nbsp;</TD>
</TR>
<TR VALIGN="TOP">
<TD ALIGN="LEFT"><B>Mail template: </B></TD>
<TD ALIGN="LEFT">
<SELECT NAME="mailTemplate" SIZE=1>
<!--#in documentIds-->
<OPTION><!--#var sequence-item--></OPTION>
<!--#endin documentIds-->
</SELECT>
</TD>
</TR>
<TR VALIGN="TOP">
<TD ALIGN="LEFT"><B>Error template: </B></TD>
<TD ALIGN="LEFT">
<SELECT NAME="errorTemplate" SIZE=1>
<!--#in documentIds-->
<OPTION><!--#var sequence-item--></OPTION>
<!--#endin documentIds-->
</SELECT>
</TD>
</TR>
<TR VALIGN="TOP">
<TD ALIGN="LEFT"><B>Sent-mail template: </B></TD>
<TD ALIGN="LEFT">
<SELECT NAME="sentMailTemplate" SIZE=1>
<!--#in documentIds-->
<OPTION><!--#var sequence-item--></OPTION>
<!--#endin documentIds-->
</SELECT>
</TD>
</TR>
<TR VALIGN="TOP"> <TR VALIGN="TOP">
<TD>&nbsp;</TD> <TD>&nbsp;</TD>
<TD><BR><INPUT TYPE="SUBMIT" VALUE="Add MailForm"></TD> <TD><BR><INPUT TYPE="SUBMIT" VALUE="Add MailHost"></TD>
</TR> </TR>
</TABLE> </TABLE>
</FORM> </FORM>
......
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN"> <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN">
<HTML> <HTML>
<HEAD> <HEAD>
<TITLE>MailForm: <!--#var title--></TITLE> <TITLE>MailHost: <!--#var title--></TITLE>
</HEAD> </HEAD>
<BODY BGCOLOR="#FFFFFF"> <BODY BGCOLOR="#FFFFFF">
<TABLE> <TABLE>
...@@ -12,7 +12,8 @@ ...@@ -12,7 +12,8 @@
<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> <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>
......
<HTML> <HTML>
<HEAD> <HEAD>
<TITLE>Manage a MailForm</TITLE> <TITLE>Manage a MailHost</TITLE>
</HEAD> </HEAD>
<BODY BGCOLOR="#FFFFFF"> <BODY BGCOLOR="#FFFFFF">
<H1>Manage a MailForm</H1> <H1>Manage a MailHost</H1>
<FORM ACTION="<!--#var PARENT_URL-->/manage_makeChanges" METHOD="POST"> <FORM ACTION="<!--#var PARENT_URL-->/manage_makeChanges" METHOD="POST">
<TABLE CELLSPACING="2"> <TABLE CELLSPACING="2">
<!--#var smallRolesWidget--> <!--#var smallRolesWidget-->
...@@ -38,30 +38,6 @@ ...@@ -38,30 +38,6 @@
<INPUT TYPE="TEXT" NAME="smtpPort:int" SIZE="4" VALUE="<!--#var smtpPort-->"> <INPUT TYPE="TEXT" NAME="smtpPort:int" SIZE="4" VALUE="<!--#var smtpPort-->">
</TD> </TD>
</TR> </TR>
<TR VALIGN="TOP">
<TD BGCOLOR="#555555" COLSPAN=2>&nbsp;</TD>
</TR>
<TR VALIGN="TOP">
<TD ALIGN="LEFT"><B>Mail template: </B></TD>
<TD ALIGN="LEFT">
<!--#var mailTemplate-->
<A HREF="<!--#var URL2-->/<!--#var mailTemplate-->/manage">[manage]</A>
</TD>
</TR>
<TR VALIGN="TOP">
<TD ALIGN="LEFT"><B>Error template: </B></TD>
<TD ALIGN="LEFT">
<!--#var errorTemplate-->
<A HREF="<!--#var URL2-->/<!--#var errorTemplate-->/manage">[manage]</A>
</TD>
</TR>
<TR VALIGN="TOP">
<TD ALIGN="LEFT"><B>Sent Mail template: </B></TD>
<TD ALIGN="LEFT">
<!--#var sentMailTemplate-->
<A HREF="<!--#var URL2-->/<!--#var sentMailTemplate-->/manage">[manage]</A>
</TD>
</TR>
<TR VALIGN="TOP"> <TR VALIGN="TOP">
<TD>&nbsp;</TD> <TD>&nbsp;</TD>
<TD><BR><INPUT TYPE="SUBMIT" VALUE="Make changes"></TD> <TD><BR><INPUT TYPE="SUBMIT" VALUE="Make changes"></TD>
......
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