You are not logged in Log in Join
You are here: Home » Members » mjablonski » MailBoxer - mailinglist / newsletter / mailarchive - framework for ZOPE » CHANGES 3.0 » View Document

Log in
Name

Password

 

CHANGES 3.0

Changes

Version 3.1:

- added a authentification stage for all moderated mails, so noone except
a moderator can relay a mail onto a moderated list. Every mail to a
moderated list is queued and will result in a mail sent to the
moderators with "pin-signed" links to approve or discard the mail. Only
by clicking this link a mail can be relayed to the list. The internet is
a nasty place to play with mails...

- refactored mail_search as include to index_html so an integration in
ZPT should be much easier now (no more reference to
standard_html_header/footer in mail_search / mail_index).

- removed creation of mail_handler as default-policy. Most people won't
need it, people who need it, can create it. It is still called as hook
if it exists. But less is sometimes more...

- fixed some minor bugs regarding the character-decoding in
mime_decode_header; added an expression for unfolding headers.

- added check for empty return-path to checkMail. Most "autogenerated"
mails should have an empty return-path, so dropping them is a good idea
to avoid loops, etc. Thanks to Richard Waid from iOpen!

- made some fixes to MailBoxerTemplates: all lookups to the
mail-dictionary are now handled by get.

- made some log-messages a little bit more usable by adding the raised
exceptions. Moved log-messages to log-levels (INFO, PROBLEM, ERROR).

- truncated pin to only 8 digests, so urls and subject-lines won't get too
long.

- fixed bug: There were some changes in Zope 2.7 security machinery, so
the mail_template would need authorization in due of the ZopeFind.
Replaced ZopeFind with simple objectValues('File'). If you use other
content-types, you should adapt your templates to the correct meta_type
for storing attachements.


Version 3.0:

New Features

- added sender-loop-limitation; you can now determine
how many mails a sender (senderlimit) can send in x
seconds (senderinterval), before the sender will be put
onto a disabled-list. This is very useful to prevent a
denial-of-service caused by hosed vacation mailers or
other endless-loop-situations. Thanks to Richard Waid
for his ideas and patches!!!

- added mail-serialisation for smtp2zope-gateway. This
will avoid Zope-Read-Conflicts in heavy-duty-setups. Thanks
to Richard Waid for his nice work!!! Every post will lock the
smtp2zope-gateway until the request is finished. LockFile-code
is borrowed from Mailman. Thanks to all the Mailman-guys...:)

- added getter/setter-property as hook for getting/setting
dynamic property values from a PythonScript; added getValueFor
as a universal wrapper for property/getter-values; adapted
all dtml-templates.

- added unclosed-property: You can now declare a list as 'unclosed',
so everyone can mail into a list without being subscribed.

- added returnpath-property. No you can set a returnpath for mails
independent of the first moderator in the moderator-list.

- added storage-property as a traversed path to archive-folder. Now
you can set up your own archive with an customized id if you want to.

- added searchMailBoxerArchive: Now all replies to a mail will
be skipped on the search-page.

- added new wrappers: addMailBoxerFolder, addMailBoxerMail,
addMailBoxerFile, so you can easily subclass MailBoxer for
customized environments like CMF/Plone/etc.pp.

- added method archiveFolders: used to retrieve all
folderish elements from an archive. Maybe useful if someone uses
other containers than folders to store MailBoxer-Mails.

Changes of existing features

- synced bounce-detectors with current MailMan-Bouncers (only the
DSN-Bouncer seems to have changed).

- catalog-property is now evaluated as a traversable path to
a Catalog. You can now use a catalog in another folder for
cataloging mails.

- smtphost is now optional when adding a MailBoxer. If no smtphost
is given, no MailHost will be created.

- improved / changed semantics of moderated-lists:
only subscribed members will generate a moderation-request if a list
is closed. Unclose a list if you want the old semantics (every mail to
a moderated list generates a moderation request).

- refactored all TTW-callable-manage_*boxer into a public and private
part (manage_requestBoxer calls requestMail for example) to protect
all public available methods with a security check. Removed
TTW-callable manage_checkBoxer (it's now checkMail) due to
security reasons.

- refactored manage_frameBoxer (no need for a public interface at all)
into protected method processMail. Removed redundant security checks
(manage_checkBoxer was called several times without a need),
which will result in less server-load if you run many lists / mails
with MailBoxer.

- the hashkey for validation subscription-requests is now stored
as a property. Many people restarting their servers over night,
so regenerating this hashkey with every restart is bad,
because of regularly outdated subscription-tickets.

- made the messages in mail_subscribe/unsubscribe/reply/moderator
more verbose. Thanks to Jean Jordaan for his patches!!!

- added Reply-To-Header to mail_moderator, so a moderators reply
is redirected to the list. Thanks to Jean Jordaan for his patches!!!
Removed Reply-To from awaiting-and-error-replies to avoid
useless bounces in due to spam.

- removed list-archive-header from mail_header.

Bug fixes

- fixed bug: MailBoxer could loose some emails, if the Zope-Server
wasn't available. Added improved exception-handling for
smtp2zope-gateway. Switched from urllib to urllib2 to have
a better control over server-responses. Thanks to Richard Waid
for his initial ideas and patches!!!

- fixed bug: mail_reply could create a mailloop under some
wired circumstances.

- fixed bug: None/corrupted/doubled entries in maillist were sent
to smtp-server which resulted in minor error-messages in the
maillog-file.

- added some checks in previousObject / nextObject to get only
folderish objects from the archive.

- "Waiting for approval"-mails were redirected to the list, which
could lead to infinite loops when spam-bounces arrived. Fixed
template.

Cleanups

- cleaned up archive-templates.

- cleared up __init__; all properties will now be set directly
in manage_addMailBoxer.

Removed

- removed mail_in/out_members-hook; please use the universal
getter-hook instead.

- removed ConvertArchive.py: People updating from MailBoxer 1.x
(very, very old) should take this script from a previous release.