1This directory contains the source files for mail.local. 2 3This is not intended to be used on *stock* System V derived systems such as 4Solaris or HP-UX, since they use a totally different approach to mailboxes 5(essentially, they have a set-group-ID program rather than set-user-ID, and 6they rely on the ability to "give away" files to do their work). 7 8If you choose to run *this* mail.local on these systems then you may also 9need to replace the existing MUAs, as well as IMAP and POP servers, with 10ones that are compatible with the BSD interface. You have been warned! 11 12For systems with maillock() support, compile with -DMAILLOCK and link with 13-lmail to use the maillock() routines. This can be accomplished in your 14site.config.m4 file with: 15 16 APPENDDEF(`conf_mail_local_ENVDEF', `-DMAILLOCK') 17 APPENDDEF(`conf_mail_local_LIBS', `-lmail') 18 19Defining CONTENTLENGTH (-DCONTENTLENGTH) will build a mail.local which 20outputs a Content-Length: header. Solaris 2.3 and later will automatically 21include Content-Length: support. This can be accomplished in your 22site.config.m4 file with: 23 24 APPENDDEF(`conf_mail_local_ENVDEF', `-DCONTENTLENGTH') 25 26Defining MAILGID to a 'gid' (-DMAILGID=6) will cause mailboxes to be 27written group writable and with group 'gid'. This can be accomplished in 28your site.config.m4 file with: 29 30 APPENDDEF(`conf_mail_local_ENVDEF', `-DMAILGID=6') 31 32mail.local will not be installed set-user-ID root. To use it as local 33delivery agent without LMTP mode, use: 34 35 MODIFY_MAILER_FLAGS(`LOCAL', `+S') 36 37in the .mc file. 38 39Defining HASHSPOOL (-DHASHSPOOL) will build a mail.local which supports 40delivering to subdirectories of the mail spool, based on a hash of the 41username (i.e., a hash depth of 2 and a username of "user" will result in 42/var/spool/mail/u/s/user). If the hash depth is greater than the length 43of the username, "_" will be used. The necessary subdirectories must 44exist; mail.local will not create them. Use the "-H" option to set the 45hash type and depth (like "-H u2" for a username hash two levels deep). 46 47The HASHSPOOL option also adds two other options: "-p path" to specify 48an alternate mail spool path (i.e., "-p /local/mail") and "-n" to specify 49that mail.local should not strip the @domain part of recipient addresses 50in LMTP mode. 51 52In addition to HASHSPOOL, defining HASHSPOOLMD5 and linking against 53libcrypto from OpenSSL like: 54 55 APPENDDEF(`conf_mail_local_ENVDEF', `-DHASHSPOOL -DHASHSPOOLMD5') 56 APPENDDEF(`conf_mail_local_LIBS', `-lcrypto') 57 58will offer an alternate hash, using a base64 encoding (changing / to _) 59of an MD5 hash of the username. This results in a more balanced 60subdirectory tree. The subdirectories will be named with A-Z, a-z, 0-9, 61+, and _. The hash type is "m", so use "-H m3" to get a three level MD5 62based hash. 63 64$Revision: 8.11 $, Last updated $Date: 2003-10-20 20:19:13 $ 65