Re: confused with moderating a list
Daniel Liston <[email protected]> Mon, 11 Jan 2010 20:14:10 -0600
| Newsgroups | gmane.mail.majordomo.general |
|---|---|
| Message-ID | <[email protected]> |
My mail server's hard drive crashed while I was out of town last week, so first let me apologize for a week long delay to send your reply. I think you are very close to having the process correct and complete with one exception; All mail is really two (or more) pieces of information. You have an envelope which exposes sender and receiver, postage and a postmark, as well as any irrelevant comments. Inside the envelope is the bill, newsletter, bank statement, or a combination of them all. In other words, the message body. I could get into attachments and MIME parts, but they all really count as message body contents anyway. So the piece you are missing in your process to moderate a mailing list is simply a separation of envelope and message. This is a blank line. Since you don't really need the postage, postmark, or comments in the distributed message, you can send an approval like this; (cut from the list-owner-info text file included with majordomo) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> From: [email protected] \ To: [email protected] | Don't want these headers Subject: BOUNCE: approval required / - Blank line >From [email protected] date \ Received: some long routing info | Headers of original message; From: [email protected] | You want these. It's OK if you To: [email protected] | don't have the first line. Subject: Just a message / - Blank line, you _must_ have this! Hello. I'm just writing to \ consume some bandwidth and | Message body; include all of take up space in your mail | this. spool! / <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Technically, you only care about the To: From: Subject: and perhaps even the Date: fields of the envelope, but these must be preceded with the keyword Approved: followed by the appropriate password. What you send back to your list, not majordomo now looks like this; >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Approved: secret pass code >From: [email protected] To: [email protected] Subject: Just a message Hello. I'm just writing to consume some bandwidth and take up space in your mail spool! <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Notice you are allowed to use MORE than one blank line to separate the headers from the body. The crucial factor is that your email client does not introduce any blank lines above your approved line, and that the blank line that is used to separate the body from the header is truly a blank line, not some non-printable whitespace character. Final note: Some MTAs enforce the rfc822 requirement to use CR/LF as a line termination sequence in email. If you have one of these, you need to check the documentation of your MTA for relaxing the restriction, or put a line of perl code in majordomo.pl and resend so it can strip the extra character to recognize and call the line "blank". ***majordomo.pl 59c59,60 < s/\n\s+/ /g; --- > s/[\^M]//g; # strip DOS <CR> from lines > s/\n\s+/ /g; # unfold wrapped headers The ^M is a single character created by typing ctrl-v then ctrl-m. ***resend 591c591 < --- > s/[\^M]//g; # strip DOS <CR> from end of lines If you are familiar with unix patch or diff, the above line is inserted at line 59 in majordomo.pl, and replaces a blank line 591 in resend. Another solution, instead of stripping out the carriage return would be to actually accept ^M or CR/LF as an acceptable line termination sequence. The above line numbering assumes you have an unpatched 1.94.5 version of majordomo. If not, you may need some help to locate the actual place to insert the modification. Happy New Year, Dan Liston