Re: [Zope] Proposal for mail-in to Zope

2000-06-05 Thread Simon Coles

"Cary O'Brien" <[EMAIL PROTECTED]> wrote:

>
>>  - pull mail from a POP or IMAP server. This had the downside that it
>>introduced polling into the system (slow) and also required something
>>to happen on a schedule, which doesn't happen in Zope yet.
>>
>
>Here I'd have to disagree.  I would definately include polling of a
>POP box as a way to get mail into the system.

I think what we'll try and do is keep the interfaces clean so that a 
POP collector could be implemented, but its not a priority for us at 
the moment. I appreciate its important for some people, but I need to 
solve a particular problem at the moment.


>Ok, so you could set up fetchmail to poll the pop box and redeliver
>locally, but that is a lot of setup.
>
>And isn't there a ZScheduler that will schedule operations in the
>future?  And there is that nice python pop client interface.

Apparently ZScheduler doesn't work yet.


>  > So:
>>  - Within Exim, use the "pipe" transport to get email for a particular
>>host sent to a program on the standard input. If the program called
>>returns certain codes then Exim will queue the message and try again.
>>
>
>I think you can do this with sendmail by putting "|command" in .forward.

Yeah, but I don't think you can have the program return error codes 
and have sendmail queue the mail and retry later. We want to avoid 
building something that has to store the mail in case Zope is down - 
email systems do that perfectly well at the moment. According to the 
docs, Exim will queue the mail if the program returns the appropriate 
error.


>The nice thing would be have a nice class for storing mail (either
>in the ZODB or an RDBMS), and a couple of ways to feed it (.forward
>with a pipe for sendmail, whatever for exim..).  That way people
>can work with mail no matter how it was dumped into the system.

You could certainly put that on top of what we're going to produce. 
We're trying to keep it very generic and call some kind of (DTML) 
method, and the world is your oyster from there




Simon
-- 
- My opinions are my own, NIP's opinions are theirs --
Simon J. Coles Email: [EMAIL PROTECTED]
New Information Paradigms  Work Phone: +44 1344 753703
http://www.nipltd.com/ Work Fax:   +44 1344 753742
=== Life is too precious to take seriously ===

___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




Re: [Zope] Proposal for mail-in to Zope

2000-06-05 Thread Itamar Shtull-Trauring

Simon Coles wrote:

> I think this is pretty much what we're intending to do. We haven't
> decided about XML-RPC Vs ZClient. The aim is to get something
> (anything) working, however hard coded, and then improve it.

Use XML-RPC - it's a lot more powerful (e.g. it returns lists and
dictionaries and integers and floats, while ZClient can only return
strings.)

-- 
Itamar S.T.  [EMAIL PROTECTED]   
"It don't get thingier than that!"

___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




Re: [Zope] Proposal for mail-in to Zope

2000-06-05 Thread Simon Coles

I think this is pretty much what we're intending to do. We haven't 
decided about XML-RPC Vs ZClient. The aim is to get something 
(anything) working, however hard coded, and then improve it.


Simon

"Kevin Dangoor" <[EMAIL PROTECTED]> wrote:

>Hmm... "takes the email message and puts it into Zope". Using ZClient or
>XML-RPC? ZClient is probably the easiest way to go. You'd probably want a
>simple script configured in the file system to send the message on to method
>in Zope via ZClient. That method will be part of a MailHandler object (or
>some such) that can have rules based on the email address that the message
>is going to. These rules will likely pass the message on to another method
>(probably a PythonMethod, since this is programming we're talking about). It
>might be nice if the MailHandler broke the message up into usable fields
>instead of a plain text stream. I think there's a python module for doing
>that.
>
>Kevin

-- 
- My opinions are my own, NIP's opinions are theirs --
Simon J. Coles Email: [EMAIL PROTECTED]
New Information Paradigms  Work Phone: +44 1344 753703
http://www.nipltd.com/ Work Fax:   +44 1344 753742
=== Life is too precious to take seriously ===

___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




RE: [Zope] Proposal for mail-in to Zope

2000-06-01 Thread Richard Folwell

> Some alternatives we considered and didn't go for:
>   - write something in Zope to listen for SMTP connections, effectively
> large portions of an MTA. This would be cool but painful.

Providing a basic SMTP server is not at all difficult to do in Python.  I did a 
cut-down one once as
part of a test system, and extending it would be straightforward (the cut-downness was 
not in
structure, just did not bother to implement the SMTP commands I did not need - the 
underlying design
was a state-machine [natch!] - however one problem I did come across was that it was 
not possible to
implement the state machine completely from the RFC, which contains ambiguities).

Some potential troublespots in re-visiting this work:

 - error handling, if done properly, might cause some problems (the state machine 
helps a lot here,
but I cannot guarantee that I did not miss something obvious)
 - emails nowadays can be very large, with MIME encoded movies and stuff.  Each 
received email has
to be stored somewhere - can we (would we want to?) reliably store this kind of data 
in the ZODB?

>   - pull mail from a POP or IMAP server. This had the downside that it
> introduced polling into the system (slow) and also required something
> to happen on a schedule, which doesn't happen in Zope yet.

Funny you should mention this.  I am considering moving my domain from the current ISP 
to a friend's
server.  One of my current ISP's services that I use is webmail, so I was looking at 
how this could
be done after the move.  Sending mail through a web interface is a doddle, but what 
about viewing
received emails?  I had got as far as realizing that something could be built on 
Python's support
for POP3 - use POP3 to collect the headers of currently available messages, create a 
web page
displaying them, with each entry linked to a page that would download (without 
deleting) an
individual email.

I think that my current ISP's webmail system must be doing something like this.  So 
far it looks
fairly straightforward to implement.

Richard
(who now realizes that he has to find that old Python SMTP server code - now I wonder 
where I put it
...)


___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




Re: [Zope] Proposal for mail-in to Zope

2000-05-31 Thread Lalo Martins

On Wed, May 31, 2000 at 04:54:24PM +0100, Simon Coles wrote:
> 
> The problem we are trying to solve is basically being to email 
> "[EMAIL PROTECTED]" and that email ends up in the Zope ZODB 
> processed in whatever way is appropriate.

I've been thinking about this too, reached more or less the
same conclusions, and decided not to work on it because I'm
already lame enought on keeping up with the hundreds of stuff I
_am_ working on :-) Anyway:


> Most MTAs can be setup to pass an email to the stdin of a program. 
> Sendmail will do this, and Exim (http://www.exim.org/) will also pay 
> attention to what that program returns and queue the message for 
> re-try later if it fails. So using Exim, we don't have to get into 
> any messy stuff about queuing mails if the Zope server is down.

This is probably the best solution, but don't forget virtual
hosting: the method for deciding which method to call should
include the whole address (not only the username) and turn up
something similar to the rules used by zmailer or qmail.

The problem here is that most MTAs don't pass the whole
envelope address to such a "piped" program. As zmailer is
mostly scripted, I figured it would probably be the best/easier
solution, check it out. (Plus, it starts with Z ;-) hehehe)


> Some alternatives we considered and didn't go for:
>   - write something in Zope to listen for SMTP connections, effectively
> large portions of an MTA. This would be cool but painful.

Agreed on both cool and painful. Perhaps the best solution in
the long run, but we need a ZODB more friendly to high-writing
first, I think.


>   - pull mail from a POP or IMAP server. This had the downside that it
> introduced polling into the system (slow) and also required something
> to happen on a schedule, which doesn't happen in Zope yet.

I don't see advantages to this approach.


>   - This program takes the email message and puts it into Zope, probably
> by calling a DTML Method or something. This would probably be
> configured by objects in the Zope ZODB which say effectively "When
> you get email for this address, then call this Method".

You don't even have to know what kind of method it is, and in
theory it doesn't have to be in the same server even. For each
mail address (or domain, in case of fallbacks, if you want to
implement that) you assign an URL, username and perhaps
password, and submit the message via POST somehow.

This tool would end up so easy to write (in principle) and
generic that it wouldn't even be tied to Zope. (Yes, you could
use ZPublisher.Client or XML-RPC or something more
Zope-specific - but why? What would you gain by that?)


> We haven't yet figured out how to make sure the above mail handling 
> program can find all the relevant configuration documents. Is there 
> some way of efficiently finding all instances of a particular ZClass?

There is a Design Pattern covering this. Essentially, the class
registers all instances somewhere when they're built - you can
do that in the constructor.

But there are two different things here... either you store the
configuration outside the ZODB and send to a different method
depending on this configuration, _or_ you send everything to a
single method and use a configuration in the ZODB to forward
the message to the correct handling method. Mixing the
approachs is not a good idea IMHO.


[]s,
   |alo
   +
--
  Hack and Roll  ( http://www.hackandroll.org )
News for, uh, whatever it is that we are.


http://zope.gf.com.br/lalo   mailto:[EMAIL PROTECTED]
 pgp key: http://zope.gf.com.br/lalo/pessoal/pgp

Brazil of Darkness (RPG)--- http://zope.gf.com.br/BroDar

___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




Re: [Zope] Proposal for mail-in to Zope

2000-05-31 Thread Maik Roeder

Hi !

Simon Coles wrote:
> Does this sound like what people need? Any thoughts, comments, warnings?
> 
> I don't know yet what kind of schedule we'll be able to do this on
> but drop me a mail and when there's something to play with we'll let
> you know.

I wanted to define this as a Task for the ZDP-Tools, but I only
made some research into this, so I hope this helps in any way...

Greetings,

Maik Röder


Mailbag 

It would be nice to have a Mailing list tracker on the ZDP site, where all
messages, which are sent to all of the Zope mailing lists are kept. The messages
could then be used for searching on specific topics, and could also be directly
reused when new pieces of documentation are written. 

Reusing pieces of documentation right now means to track the mailing lists,
using your own mail reader, or going to one of the online Mailing list trackers
like egroups, and then cutting and pasting the message into your documentation.

Just taking over content is not nice without giving credit to the original author. 
It
is also not very user-friendly because much of the discussion, which has been
surrounding the posting in the original discussion thread is simply lost. The
original thread can be very useful for ZDP visitors, who may want to have a
look at it when they see it quoted. 

Right now, giving a pointer to the original post is hard, because you can not be
sure whether the site you are pointing to always keeps the URL, or for what is
worse, even disappears. We need to be sure that a quoted message along with
it's thread still exists in the future. 

We don't have enough space on the ZDP site to keep the whole Zope mailing
lists, and so we are planning to digest the incoming mails only for a certain
period of time. Afterwards, the mails will be deleted if they haven't appeared in
a thread that has been quoted. 

We don't have the ressources to update the Mailing List Tracker everytime a
mail is sent to a mailing list. So, to quote a mail, we need to manually upload all
mails which have been written to that list since the last update. We also need to
update threads to which new mails have been posted in the meantime. 

We also lack a tool for uploading messages to the Zope site. We could extend
the Mailbag product by Tres Seaver which uses the Python 'rfc822' and
'mailbox' modules to parse messages and mailboxes. 

Lately, Tres Seaver has rewritten Mailbag, refactoring the logic into Python
classes. The corresponding ZClasses for the presentation layer still have to be
rewritten, but can possibly be taken over from the previous Mailbag version. 

To get the mail into Zope, a program needs to be written that calls Mailbag via
ZClient when a mail arrives. Another type of program could be useful for
importing existing Mailboxes into Zope. 

For delivery, an MDA like procmail could spawn a program out of a .forward
file and ask it to upload the mail to a Zope folder according to a predefined set 
of
recipies. 

There exists a Python program called getmail which takes mail from a POP3
server and delivers it into a mailbox. The delivery part of this program uses a
getmailrc which could be used instead of the procmail recipies. 

Once the mail is in a local installation on a ZDP members own Zope server, it is
easy to export the email and upload it to the ZDP site. From there, the ZDP
members can quote the message easily by directly pointing to the URL. 

This way, we may not get a complete mail archive, but at least we can always
be sure that the quoted mails and their surrounding thread exist. 

--
Open Source is "about being able to work together with people you've
never  met, on projects that  are in  a constant state  of flux,  on 
a time schedule  that would  cause a  hummingbird's  head to  spin."
Paul Ferris, http://www.linuxplanet.com/linuxplanet/opinions/1593/1/

___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




Re: [Zope] Proposal for mail-in to Zope

2000-05-31 Thread Nitin Borwankar

Along these lines, if we have an "rfc822" object, what operations
would we want to perform on it ? What other objects would be useful ?

A "folder" object ?  A "part" object for handling "multipart" MIME
objects

Possible actions
===

* save/fetch a message object to/from "folder" for messages in ZODB
* dissemble a multipart MIME message into "part" objects in memory
* write a "part" to/from a file 
* write a "Multipart" object to a "multifile" 
* "send a message" into the ZODB "folder" from the outside
* "send a message" from the ZODB "folder"  to the outside
* search for message by attributes

These operations would be methods on the "rfc822" object, "part" object
and ZODB "folder" object, invoked appropriately ( locally or via
remote calls ).

Nitin Borwankar,
[EMAIL PROTECTED]


Chris McDonough wrote:
> 
> I'm interested in this, although I have a lot on my plate right now and
> can't help in development.
> 
> I see objects in Zope being able to handle a call to one of their
> methods that passes off a chunk of email text and stuffs it in an
> attribute for later display or catalog.
> 
> I think you should probably start by designing the interface to these
> kinds of objects and worry about exactly how you're going to call the
> methods that make up the interface later...
> 
> > -Original Message-
> > From: Simon Coles [mailto:[EMAIL PROTECTED]]
> > Sent: Wednesday, May 31, 2000 11:54 AM
> > To: [EMAIL PROTECTED]
> > Subject: [Zope] Proposal for mail-in to Zope
> >
> >
> > Hi,
> >
> > We (NIP - in the form of Chris Withers, Stephen Harrison, and Simon
> > Coles) have put some thought into the question of how to get emails
> > into Zope, and have come up with a design which we thought we'd pass
> > by the list before we start doing something.
> >
> > The problem we are trying to solve is basically being to email
> > "[EMAIL PROTECTED]" and that email ends up in the Zope ZODB
> > processed in whatever way is appropriate.
> >
> > We aren't worried about sending email, that's done well at the
> > moment. We also wanted to keep things as simple and quick as possible
> > :-) This means trying to avoid getting involved with mail systems as
> > much as we can.
> >
> > Most MTAs can be setup to pass an email to the stdin of a program.
> > Sendmail will do this, and Exim (http://www.exim.org/) will also pay
> > attention to what that program returns and queue the message for
> > re-try later if it fails. So using Exim, we don't have to get into
> > any messy stuff about queuing mails if the Zope server is down.
> >
> > Some alternatives we considered and didn't go for:
> >   - write something in Zope to listen for SMTP
> > connections, effectively
> > large portions of an MTA. This would be cool but painful.
> >   - pull mail from a POP or IMAP server. This had the
> > downside that it
> > introduced polling into the system (slow) and also
> > required something
> > to happen on a schedule, which doesn't happen in Zope yet.
> >
> > So:
> >   - Within Exim, use the "pipe" transport to get email
> > for a particular
> > host sent to a program on the standard input. If the
> > program called
> > returns certain codes then Exim will queue the
> > message and try again.
> >
> >   - This program takes the email message and puts it into
> > Zope, probably
> > by calling a DTML Method or something. This would probably be
> > configured by objects in the Zope ZODB which say
> > effectively "When
> > you get email for this address, then call this Method".
> >
> >   - The DTML Method is responsible for doing the right
> > things to get
> > the email message into the ZODB in whatever form is
> > appropriate.
> >
> > We haven't yet figured out how to make sure the above mail handling
> > program can find all the relevant configuration documents. Is there
> > some way of efficiently finding all instances of a particular ZClass?
> >
> > (Chris W. still isn't sure that's how the configuration will work but
> > that's the plan for the moment, so any thoughts would be appreciated)
> >
> > What we'll do is a first version that hard codes everything in the
> > above script and prove the principle

RE: [Zope] Proposal for mail-in to Zope

2000-05-31 Thread Chris McDonough

I'm interested in this, although I have a lot on my plate right now and
can't help in development.

I see objects in Zope being able to handle a call to one of their
methods that passes off a chunk of email text and stuffs it in an
attribute for later display or catalog.

I think you should probably start by designing the interface to these
kinds of objects and worry about exactly how you're going to call the
methods that make up the interface later...

> -Original Message-
> From: Simon Coles [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, May 31, 2000 11:54 AM
> To: [EMAIL PROTECTED]
> Subject: [Zope] Proposal for mail-in to Zope
> 
> 
> Hi,
> 
> We (NIP - in the form of Chris Withers, Stephen Harrison, and Simon 
> Coles) have put some thought into the question of how to get emails 
> into Zope, and have come up with a design which we thought we'd pass 
> by the list before we start doing something.
> 
> The problem we are trying to solve is basically being to email 
> "[EMAIL PROTECTED]" and that email ends up in the Zope ZODB 
> processed in whatever way is appropriate.
> 
> We aren't worried about sending email, that's done well at the 
> moment. We also wanted to keep things as simple and quick as possible 
> :-) This means trying to avoid getting involved with mail systems as 
> much as we can.
> 
> Most MTAs can be setup to pass an email to the stdin of a program. 
> Sendmail will do this, and Exim (http://www.exim.org/) will also pay 
> attention to what that program returns and queue the message for 
> re-try later if it fails. So using Exim, we don't have to get into 
> any messy stuff about queuing mails if the Zope server is down.
> 
> Some alternatives we considered and didn't go for:
>   - write something in Zope to listen for SMTP 
> connections, effectively
> large portions of an MTA. This would be cool but painful.
>   - pull mail from a POP or IMAP server. This had the 
> downside that it
> introduced polling into the system (slow) and also 
> required something
> to happen on a schedule, which doesn't happen in Zope yet.
> 
> So:
>   - Within Exim, use the "pipe" transport to get email 
> for a particular
> host sent to a program on the standard input. If the 
> program called
> returns certain codes then Exim will queue the 
> message and try again.
> 
>   - This program takes the email message and puts it into 
> Zope, probably
> by calling a DTML Method or something. This would probably be
> configured by objects in the Zope ZODB which say 
> effectively "When
> you get email for this address, then call this Method".
> 
>   - The DTML Method is responsible for doing the right 
> things to get
> the email message into the ZODB in whatever form is 
> appropriate.
> 
> We haven't yet figured out how to make sure the above mail handling 
> program can find all the relevant configuration documents. Is there 
> some way of efficiently finding all instances of a particular ZClass?
> 
> (Chris W. still isn't sure that's how the configuration will work but 
> that's the plan for the moment, so any thoughts would be appreciated)
> 
> What we'll do is a first version that hard codes everything in the 
> above script and prove the principle of the thing, and then move onto 
> the configuration.
> 
> 
> Does this sound like what people need? Any thoughts, 
> comments, warnings?
> 
> 
> I don't know yet what kind of schedule we'll be able to do this on 
> but drop me a mail and when there's something to play with we'll let 
> you know.
> 
> 
> 
> 
> Simon
> -- 
> - My opinions are my own, NIP's opinions are theirs --
> Simon J. Coles Email: [EMAIL PROTECTED]
> New Information Paradigms  Work Phone: +44 1344 753703
> http://www.nipltd.com/ Work Fax:   +44 1344 753742
> === Life is too precious to take seriously ===
> 
> ___
> Zope maillist  -  [EMAIL PROTECTED]
> http://lists.zope.org/mailman/listinfo/zope
> **   No cross posts or HTML encoding!  **
> (Related lists - 
>  http://lists.zope.org/mailman/listinfo/zope-announce
>  http://lists.zope.org/mailman/listinfo/zope-dev )
> 

___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




Re: [Zope] Proposal for mail-in to Zope

2000-05-31 Thread Kevin Dangoor

- Original Message -
From: "Simon Coles" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, May 31, 2000 11:54 AM
Subject: [Zope] Proposal for mail-in to Zope


> So:
> - Within Exim, use the "pipe" transport to get email for a particular
>   host sent to a program on the standard input. If the program called
>   returns certain codes then Exim will queue the message and try again.
>
> - This program takes the email message and puts it into Zope, probably
>   by calling a DTML Method or something. This would probably be
>   configured by objects in the Zope ZODB which say effectively "When
>   you get email for this address, then call this Method".

Hmm... "takes the email message and puts it into Zope". Using ZClient or
XML-RPC? ZClient is probably the easiest way to go. You'd probably want a
simple script configured in the file system to send the message on to method
in Zope via ZClient. That method will be part of a MailHandler object (or
some such) that can have rules based on the email address that the message
is going to. These rules will likely pass the message on to another method
(probably a PythonMethod, since this is programming we're talking about). It
might be nice if the MailHandler broke the message up into usable fields
instead of a plain text stream. I think there's a python module for doing
that.

Kevin


___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




Re: [Zope] Proposal for mail-in to Zope

2000-05-31 Thread Cary O'Brien

> Hi,
> 
> We (NIP - in the form of Chris Withers, Stephen Harrison, and Simon 
> Coles) have put some thought into the question of how to get emails 
> into Zope, and have come up with a design which we thought we'd pass 

Excellent idea. I was thinking about this just the other day.  We have
a mailing list for a project, and it would be nice to drop in an
email archive into the zope site we are using internally.

> by the list before we start doing something.
> 
> The problem we are trying to solve is basically being to email 
> "[EMAIL PROTECTED]" and that email ends up in the Zope ZODB 
> processed in whatever way is appropriate.
> 
> We aren't worried about sending email, that's done well at the 
> moment. We also wanted to keep things as simple and quick as possible 
> :-) This means trying to avoid getting involved with mail systems as 
> much as we can.
> 
> Most MTAs can be setup to pass an email to the stdin of a program. 
> Sendmail will do this, and Exim (http://www.exim.org/) will also pay 
> attention to what that program returns and queue the message for 
> re-try later if it fails. So using Exim, we don't have to get into 
> any messy stuff about queuing mails if the Zope server is down.
> 
> Some alternatives we considered and didn't go for:
>   - write something in Zope to listen for SMTP connections, effectively
> large portions of an MTA. This would be cool but painful.

I'd have to agree.

>   - pull mail from a POP or IMAP server. This had the downside that it
> introduced polling into the system (slow) and also required something
> to happen on a schedule, which doesn't happen in Zope yet.
> 

Here I'd have to disagree.  I would definately include polling of a
POP box as a way to get mail into the system.  Not everyone has a 24x7
internet connection with a fixed ip address and a dns entry, so for
them polling a POP box would be a great way to handle things.  Plus it
is great for those people picky about security that don't let anything
inward across the firewall.

Ok, so you could set up fetchmail to poll the pop box and redeliver
locally, but that is a lot of setup.

And isn't there a ZScheduler that will schedule operations in the
future?  And there is that nice python pop client interface.


> So:
>   - Within Exim, use the "pipe" transport to get email for a particular
> host sent to a program on the standard input. If the program called
> returns certain codes then Exim will queue the message and try again.
> 

I think you can do this with sendmail by putting "|command" in .forward.

>   - This program takes the email message and puts it into Zope, probably
> by calling a DTML Method or something. This would probably be
> configured by objects in the Zope ZODB which say effectively "When
> you get email for this address, then call this Method".
> 
>   - The DTML Method is responsible for doing the right things to get
> the email message into the ZODB in whatever form is appropriate.
> 

One thing I don't understand is how many processes can access a live ZODB.  How
does the locking work?  Otherwise you'd need to have your mail processor
command do an html get or post to get the information into Zope.

> We haven't yet figured out how to make sure the above mail handling 
> program can find all the relevant configuration documents. Is there 
> some way of efficiently finding all instances of a particular ZClass?
> 
> (Chris W. still isn't sure that's how the configuration will work but 
> that's the plan for the moment, so any thoughts would be appreciated)
> 
> What we'll do is a first version that hard codes everything in the 
> above script and prove the principle of the thing, and then move onto 
> the configuration.
> 
> 
> Does this sound like what people need? Any thoughts, comments, warnings?
> 
> 

The nice thing would be have a nice class for storing mail (either
in the ZODB or an RDBMS), and a couple of ways to feed it (.forward
with a pipe for sendmail, whatever for exim..).  That way people
can work with mail no matter how it was dumped into the system.

An advantage is that adding a POP client would allow you to create
a POP mail reader using zope also.  Just a thought.

-- cary
[EMAIL PROTECTED]

> I don't know yet what kind of schedule we'll be able to do this on 
> but drop me a mail and when there's something to play with we'll let 
> you know.
> 
> 
> 
> 
> Simon
> -- 
> - My opinions are my own, NIP's opinions are theirs --
> Simon J. Coles Email: [EMAIL PROTECTED]
> New Information Paradigms  Work Phone: +44 1344 753703
> http://www.nipltd.com/ Work Fax:   +44 1344 753742
> === Life is too precious to take seriously ===
> 



___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cr

[Zope] Proposal for mail-in to Zope

2000-05-31 Thread Simon Coles

Hi,

We (NIP - in the form of Chris Withers, Stephen Harrison, and Simon 
Coles) have put some thought into the question of how to get emails 
into Zope, and have come up with a design which we thought we'd pass 
by the list before we start doing something.

The problem we are trying to solve is basically being to email 
"[EMAIL PROTECTED]" and that email ends up in the Zope ZODB 
processed in whatever way is appropriate.

We aren't worried about sending email, that's done well at the 
moment. We also wanted to keep things as simple and quick as possible 
:-) This means trying to avoid getting involved with mail systems as 
much as we can.

Most MTAs can be setup to pass an email to the stdin of a program. 
Sendmail will do this, and Exim (http://www.exim.org/) will also pay 
attention to what that program returns and queue the message for 
re-try later if it fails. So using Exim, we don't have to get into 
any messy stuff about queuing mails if the Zope server is down.

Some alternatives we considered and didn't go for:
- write something in Zope to listen for SMTP connections, effectively
  large portions of an MTA. This would be cool but painful.
- pull mail from a POP or IMAP server. This had the downside that it
  introduced polling into the system (slow) and also required something
  to happen on a schedule, which doesn't happen in Zope yet.

So:
- Within Exim, use the "pipe" transport to get email for a particular
  host sent to a program on the standard input. If the program called
  returns certain codes then Exim will queue the message and try again.

- This program takes the email message and puts it into Zope, probably
  by calling a DTML Method or something. This would probably be
  configured by objects in the Zope ZODB which say effectively "When
  you get email for this address, then call this Method".

- The DTML Method is responsible for doing the right things to get
  the email message into the ZODB in whatever form is appropriate.

We haven't yet figured out how to make sure the above mail handling 
program can find all the relevant configuration documents. Is there 
some way of efficiently finding all instances of a particular ZClass?

(Chris W. still isn't sure that's how the configuration will work but 
that's the plan for the moment, so any thoughts would be appreciated)

What we'll do is a first version that hard codes everything in the 
above script and prove the principle of the thing, and then move onto 
the configuration.


Does this sound like what people need? Any thoughts, comments, warnings?


I don't know yet what kind of schedule we'll be able to do this on 
but drop me a mail and when there's something to play with we'll let 
you know.




Simon
-- 
- My opinions are my own, NIP's opinions are theirs --
Simon J. Coles Email: [EMAIL PROTECTED]
New Information Paradigms  Work Phone: +44 1344 753703
http://www.nipltd.com/ Work Fax:   +44 1344 753742
=== Life is too precious to take seriously ===

___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )