Man Linux: Main Page and Category List


       maildir-bulletin  -  programs  to  send  mail to all maildir users in a


       maildir-bulletin [-s] group [groups]


       This manual page documents briefly the maildir-bulletin, command.

       It is used to send a bulletin  to  multiple  users,  it  does  this  by
       creating  a  file in /var/lib/maildir-bulletin/bulletins for each group
       that the message is to be sent to. Then hard  links  are  created  from
       that  file  to  a  file in the ~/Maildir/new directory of every user in
       that group. Such files can then be read by any Maildir capable  program
       including POP servers.

       It  expects  to  receive  the  message  on standard input (IE the usual
       proceedure is to run it from  /etc/aliases).  Error  messages  will  be
       produced  on  standard  output  (for  the  bounce email) and written to
       /var/log/bulletin.err.  Results of successful runs will  be  logged  to

       It  is  designed  to  be  run  as SUID root so that it can deliver mail
       inside the users’ home directories.


       The main command-line parameters are the names of groups to send to. At
       least one group name must be specified.

       The -s option specifies that sym-links are to always be used. They will
       be used anyway if hard links fail.


       This program is much better than sending email  to  each  user  because
       it’s  much  faster  to  deliver,  and as it uses the same file name and
       Inode for each user it should not be difficult to un-send  a  bulletin.
       Also  it  will  only  take  disk space for a single copy of the message
       which will be really handy if you wish to send a  20K  email  to  30000

       This program is much better than using the bulletin service in some POP
       servers because it supports virtually unlimited numbers  of  bulletins,
       and  allows  you  to easily change mail server, POP server, or whatever
       and still keep the same bulletin setup.

       It is currently about 500 lines of C code. The only external program to
       get  run  is  /usr/bin/sed.   Also if correctly installed only the mail
       delivery group will be able to run it so I consider  it  unlikely  that
       there are any security problems.

       Running  "ls  -l"  on  the bulletins directory shows you how many users
       have not read the bulletin yet (link count - 1).


       The  message  can  contain  a  line  BULLETIN_EXPIRES:yyyy-mm-dd  Which
       specifies  the  data  that the message should expire on. Such a line is
       removed from the message before delivery and stored in the file name in
       the  bulletins  directory.  This  is then used by the expiry program to
       remove old bulletins.

       You can rename the file to change the expiry date if it has hard links.
       If it has symbolic links then renaming it will break all the links.


       /var/log/bulletin.log /var/log/bulletin.err

              A  list  of administrator email addresses and groups ("ALL" will
              match any group) seperated by spaces with one address per  line.
              Each  line  lists a group that the particular administrator will
              be listed as "Sender:" for. I am not sure that this  feature  is
              even needed.

              Same format but for the "To:" field.

              A  list  of administrator email addresses and groups ("ALL" will
              match any group) seperated by spaces with one address per  line.
              When email comes in the "From:" field is checked against this to
              determine whether the specified address is  allowed  to  send  a
              buttetin  to the group(s) in question. Poor security really, but
              that’s life on the net.

       If want root@your.domain to be able to send bulletins to  everyone  and
       john@other.domain to send bulletins to staff then have the following:

       root@your.domain ALL

       john@other.domain staff


              The main directory for config files.

              Temporary  directory  for sed input - do not make this a link to
              /tmp, it must be a directory that is only writable by root.

              Where the bulletin files are stored.


       If you specify a month greater than 12 or a day greater than the number
       of  days  in  the month this won’t be taken as an error. Month 13 means
       that it won’t expire until the next year, day 32 means it won’t  expire
       until the next month.  Maybe someone will consider this a feature.

       Specifying  a year greater than 2038 should work, but then the bulletin
       won’t expire until you move to a 64bit Unix platform.


       This program, it’s manual page, and the Debian package were written  by
       Russell  Coker  <>  while  under  contract  to  Cap
       Gemini.  I had to re-write their bulletin program  anyway  so  it  made
       sense to do it properly and release it as open source.


       The  source is available from