To completely prevent posting (for instance a message-of-the-day list), set up a normal list, and just remove ~/.qmail-list and DIR/editor altogether. Make posts from the shell, or from shell scripts or crond, by simply piping a (complete) message to ezmlm-send(1):
% /usr/local/bin/ezmlm/ezmlm-send DIR < message
NOTE: This can be done by any user with write access to files within the list directory, so make sure your file modes are set correctly. The ezmlm-send(1) path may need to be changed to match your ezmlm binary directory. It's also a good idea to not allow others to read your list directory and DIR/subscribers/ and other address lists.