it should be noted that sendmail (all versions, to my knowledge)
just blatently ignores it if you flock an mbox.
however, it does recognize its own locking system, which
consists of a mboxname.lock file in the same directory
as the mbox.
this does create problems with write access and such, and
is just a horrible workaround in my opinion, however
will work fine.
This is not really the fault of sendmail in modern versions. sendmail has no knowledge about the user's mailbox. This is the task of mail.local, which is the one responsible of dealing with mailboxes.
mail.local does require some form of file locking to prevent races in multiple message delivery scenarios. It attempts to use a number of schemes (fcntl(), lockf, flock, no locks at all) depending on the particular OS in which it is being installed.
Unfortunetely, locking does not work reliably in all the scenarios on all the OSes, so multiple schemes must be relied on if attempting to be portable.