I would prefer not to have sendmail do it, because it's a larger drain on the
resources and because it's not really sendmail's job to handle these things
(as I understand it). The reason for this is because at times the process
that informs us about new users takes some time, so the users may be
distributing the mail address before we are told about it. As a result, we
could be bouncing important mail, which is not politically popular.
The resource and security issues don't need to be a problem because someone
could just mailbomb the valid mail addresses. And, hey, I'm not administering
the system, so if they want to do it that way, that's their decision.
The main problem with what you suggest is that you have the overhead of
checking the existence of every mailbox before delivering the item, which is
substantial, and why it would be optimal if deliver simply had a flag that
created any non-existing mailboxes.
Stephen
quoth Seva Adari:
| I have not done anything like what you are suggesting, but
| from what I know about sendmail, it ought to be possible to
| create automatic mailboxes. Requires some coding though!
|
| I am little curious to find out why would you want to be
| doing such a thing though! It can get you into resource
| related troubles (not to mention security nightmares), given
| that every mailbox requires that you set aside some space.
|
| I would look at the part where sendmail provides a hook for
| mapping the mail ids via "virtusertable". Under sendmail there
| is a file called "map.c" where they have the functions for
| mapping the in coming mail id to internal id. Along lines of
| exiting functions you could create a new one or override an
| exiting function and check for existence of current mail id
| in the system and if none found create a mailbox and then get
| back into sendmail process flow.
|
| __
| Seva
|
| Stephen Fischer wrote:
|
| > I'm interested in having the deliver program automatically create mailboxes
| > when it receives a mail item addressed to an address of the correct format but
| > which does not already exist. I found some mail in the archive from people
| > asking a similar question but no answers. Is this capability there? If not,
| > has anyone implemented something similar?
| >
| > Software: cyrus imapd 1.6.24, cyrus-sasl-1.5.20/24, sendmail.8.10.1, solaris 8
| >
| > Format (for reference): [a-z][0-9]{7}
| >
| > Basically, what we would like to have happen is that the deliver program
| > checks the format of the address. If it is invalid, then the message is
| > rejected. If it is valid, then it is delivered, creating the mailbox if it
| > does not already exist. The first half is easy enough to do with a wrapper
| > program that then calls deliver, but the second half seems to be best handled
| > by deliver itself.
| >
| > Thanks for your help/thoughts,
| > Stephen
|