Steve wrote:
I'm wondering if anyone has ever set up their mailman archives so
that people can reply to list messages directly from the web page. I
know it would be trivial to add a mailto link to the list address on
the archive html pages, but I'm thinking more like some sort of
script that would not use mailto -- instead it would provide a text
edit box to the user, and when they clicked "send" a well-formed mail
would be sent to the list address, with the appropriate subject line,
correct headers, etc.

I'm working on it and am part way there. I'm using Matt's formmail script <http://www.scriptarchive.com/formmail.html>. The script is set to only accept mail to my server, so I think it's secure.
I have private archives, and I pick up the users e-mail with a cookie when they log in. The mail is sent with that e-mail address, so it shows from them on the list, and it is moderated or not depending on how the individual e-mail is flagged.
I have not had a chance to dig into it, but I think the subject and quote can be done with information available from mailman.


To start with you want Richard Barrett's patch <http://sourceforge.net/tracker/?func=detail&aid=730769&group_id=103&atid=100103Richard> that allows you to use modified templates in $prefix/lists/<listname>/<language>/

Below is what I have in the private.html file. This grabs the user e-mail when they log in:
---------------
<html>
<head>
<title>%(realname)s Private Archives Authentication</title>
<SCRIPT LANGUAGE=JAVASCRIPT>
expireDate = new Date
expireDate.setYear(expireDate.getYear()+1)


  userName = ""
  if (document.cookie != "") {
    userName = document.cookie.split("=")[1]
  }

function setCookie() {
userName = document.myForm.username.value
document.cookie = "userName="+userName+";expires=" + expireDate.toGMTString()
}
</SCRIPT>
</head>
<body bgcolor="#ffffff">
<FORM NAME=myForm METHOD=POST ACTION="%(action)s/">
%(message)s
<TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
<TR>
<TD COLSPAN="2" WIDTH="100%%" BGCOLOR="#99CCFF" ALIGN="CENTER">
<B><FONT COLOR="#000000" SIZE="+1">%(realname)s Private
Archives Authentication</FONT></B>
</TD>
</TR>
<tr>
<TD><div ALIGN="Right">Email address:</div></TD>
<TD><INPUT TYPE="text" value="enter e-mail here" name=username onBlur="setCookie()"></TD>
</tr>
<tr>
<TD><div ALIGN="Right">Password:</div></TD>
<TD><INPUT TYPE="password" NAME="password" SIZE="30"></TD>
</tr>
<tr>
<td colspan=2 align="middle"><INPUT type="SUBMIT"
name="submit"
value="Let me in...">
</td>
</tr>
</TABLE>
<p><strong><em>Important:</em></strong> From this point on, you
must have cookies enabled in your browser, otherwise no
administrative changes will take effect.


      <p>Session cookies are used in Mailman's
      administrative interface so that you don't need to
      re-authenticate with every administrative operation.  This
      cookie will expire automatically when you exit your browser, or
      you can explicitly expire the cookie by hitting the
      <em>Logout</em> link under <em>Other Administrative
      Activities</em> (which you'll see once you successfully log in).
</FORM>
</body>
</html>

---------------

Copy article.html from templates into $prefix/lists/<listname>/<language>/ and make what ever changes you want to add a link to the posting form on the bottom of each archived post. I did:

<a href="/mailman/private/<listname>/webpost.shtml">Reply</a>

Then in $prefix/archives/private/<listname> I have the following webpost.shtml:

------------------
<HTML>
<HEAD>
<SCRIPT LANGUAGE=JAVASCRIPT>
eMail = (document.cookie.split("=")[1]).split(";")[0]
   if  (document.cookie != "") {
   document.write("You are logged in as: "+ eMail)
  }

function delCookie () {
 if (document.cookie !="") {
   if (confirm("Do you want to delete the cookies?")) {
     thisCookie = document.cookie.split(";")
     expireDate = new Date
     expireDate.setYear(expireDate.getYear()-1)

for (i=0; i<thisCookie.length; i++) {
cookieName = thisCookie[i].split("=")[0]
document.cookie = cookieName + "=;expires=" + expireDate.toGMTString()
}
document.write ("<H1>Number of cookies deleted: " + thisCookie.length + "</H1>")
}
}
}


function fillForm () {
document.theForm.email.value = eMail
}
</SCRIPT>
<TITLE>Web Posting Form</TITLE>
</HEAD>
<body>
<P ALIGN=Center>
<p align="center"><a href="#" onClick="delCookie()">Click here to log out.</a>
<BR><BR>
<P ALIGN=Center>
<CENTER>
<br>
Post from web form for Mailman.<br>
<br>
<BR>
</CENTER>
<CENTER>
<TABLE CELLPADDING="2" ALIGN="Center" WIDTH="90%">
<TR>
<TD>&nbsp; &nbsp; This form now takes the "from" e-mail from a cookie that is formed when the e-mail and password
are entered!!
<P ALIGN=Left>
<FORM NAME=theForm ACTION = "http://SERVER NAME/cgi-bin/FormMail.pl" METHOD = "POST">
<INPUT type=hidden name="recipient" value="LIST ADDRESS">
<INPUT type=hidden name="redirect" value="URL OF PAGE TO GO TO AFTER POST IS SENT">
<INPUT type=hidden name="email" value="">
Subject:
<INPUT type=text name="subject" value="">
<BR>
Content:<BR>
<TEXTAREA NAME="-" ROWS="16" COLS="60" onBlur="fillForm()"></TEXTAREA><BR>
&nbsp;
<INPUT TYPE=reset value="Reset">
<INPUT TYPE=submit value="SEND IT!">
</FORM>


</TD>
</TR>
</TABLE>
</CENTER>
<P>
<BIG><BR>
<BR>
</BIG><BR>
</BODY></HTML>
-------------
This is rough, and still has some working notes imbedded in it, but it should get you going. Contact me off list if you need to. And if you have any ideas on picking up subject and quote let me know.


<>< Paul


------------------------------------------------------ Mailman-Users mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-users Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/

This message was sent to: [EMAIL PROTECTED]
Unsubscribe or change your options at
http://mail.python.org/mailman/options/mailman-users/archive%40jab.org

Reply via email to