[Oberon] SMTP Receive only service

mcintosh at vima.austin.tx.us mcintosh at vima.austin.tx.us
Sat Feb 22 21:08:22 CET 2003


The current state of my effort for an SMTP receive only service 
is available at http://mailbottle.vima.austin.tx.us/AosSMTPReceiver.0.1.38c.Mod
and is typically online at mailbottle.vima.austin.tx.us:25

I find that I learn a lot a couple of months into these 10 hour projects ...

In aggregate, all the previous versions of this program have received several 
hundred messages and placed many of them them into sequentially named files.

One persistent problem that occured was ultimately because I thought that the
instream.Get() call would block, and it appears to return 0X and the condition
instream.res = AosIO.EOF.  (Read the fine manual)

Another problem was that an SMTP session that attempted to send multiple emails
on the same connection revealed errors in my logic to update file names, keep the same
file name for the log file and the first message file, and not skip file names between
SMTP sessions.  On initial testing this is now fixed, depending on what you think the
correct behavior should be when either NOOP or RSET are received.  I only do the update
if the Mail command has been issued.

This version does not have any time-out support.  In addition, it is not very nice 
when it is given incorrect input, such as would happen when a person types 
SMTP into port 25 by hand.

In some earlier versions, I incorporated the "TO: " recipient into the file name, and ended up
with some names such as Mail:G000000812.mcintosh at vima.austin.tx.us.Msg

This was very convenient for some purposes, but it only worked on a FAT file system, and not
the AOS file system.  The motivation to do this is that, when delivered in this way, all of the
work has been finished by the receiver for local mail, and a POP3 or IMAP4 server can work
directly on the Directory.

-- Aubrey McIntosh




More information about the Oberon mailing list