Haven't checked the complete docs yet, so there may remain some minor typos. Anyway, I hope this is useful.
Best regards, Ger Also no more warnings when running cvpod.pl *.cvpod in the docs dir. diff of the .pod files follows: --------------------------------------------------------------------------------------------------------------------- --- ../../1original/xmail/docs/ChangeLog.pod 2007-11-02 01:34:32.000000000 +0100 +++ ./docs/ChangeLog.pod 2007-11-19 18:56:54.000000000 +0100 @@ -9,6 +9,8 @@ =head2 Jan 1, 2007 v 1.25 +=over 4 + =item * Added the ability to select SmtpConfig-IP options by local port too (SmtpConfig-IP,PORT). @@ -108,6 +110,8 @@ =head2 Jan 1, 2007 v 1.24 +=over 4 + =item * ******************************************************************** --- ../../1original/xmail/docs/Readme.pod 2007-11-17 02:25:58.000000000 +0100 +++ ./docs/Readme.pod 2007-11-19 18:51:24.000000000 +0100 @@ -38,16 +38,16 @@ XMail sources compile under GNU/Linux, FreeBSD, OpenBSD, NetBSD, OSX, Solaris and NT/2K. -This server born due to the need of having a free and stable Mail Server +This server was born due to the need of having a free and stable Mail Server to be used inside my old company, which used a Windows Network. I don't like to reinvent the wheel but the need of some special features drive me to start a new project. Probably if I could use a Linux server -on my net, I would be able to satisfy my needs without write code, but -this is not my case. It should be also portable to other OSs, like Linux +on my net, I would be able to satisfy my needs without writing code, but +this is not the case. It should be also portable to other OSs, like Linux and other Unixes. Another reason that drove me to write XMail is the presence of the same steps -in setting up a typical mail server, ie: +in setting up a typical mail server, i.e.: sendmail + qpopper + fetchmail @@ -127,7 +127,7 @@ 'B<YOU MUST ALWAYS ENTER THE DATA EXACTLY AS SHOWN IN THE PROTOTYPE.>' -When a protype or example statement is too long to easily be shown on the screen or +When a prototype or example statement is too long to be easily shown on the screen or printed, the line is split into multiple lines by showing 'B<=>>' at the end of continued lines and indenting the continuation line(s): @@ -267,7 +267,7 @@ =item * -To build from source for Windows you need MS Visual C++ (project included). +To build from source for Windows you need MS Visual C++ (makefile included). =item * @@ -306,7 +306,7 @@ C:> nmake /f Makefile.win - If once you run the XMail binaries, Windows complain about missing DLLs, your system + If once you run the XMail binaries, Windows complains about missing DLLs, your system is probably missing the Microsoft CRT redistributable package, that you can download here L<http://www.xmailserver.org/vcredist_x86.exe>. @@ -422,11 +422,11 @@ =item 8. -Since XMail use syslog to log messages, enable syslogd if it's not running. +Since XMail uses syslog to log messages, enable syslogd if it's not running. =item 9. -Setup the 'B<SERVER.TAB>' configuration option (after reading the rest of this +Setup the 'B<SERVER.TAB>' configuration file (after reading the rest of this document well). =item 10. @@ -437,14 +437,14 @@ =item 11. Change or comment out (#) the example account in 'B<ctrlaccounts.tab>' by using -non-trivial username and password. +a non-trivial username and password. =item 12. Copy the xmail startup script to your init.d directory (it's position depends on your distro). If you've setup XMail to work in a subdirectory other than 'B</var/MailRoot>' you -must edit xmail startup script to customize its boot. +must edit the xmail startup script to customize its boot parameters. =item 13. @@ -459,7 +459,7 @@ =item 15. -Setup the file 'B<smtprelay.tab>' if you want to extend mail relaying to IPs out +Setup the file 'B<smtprelay.tab>' if you want to extend mail relaying to IPs outside of the internet's private IP blocks (or you want to deny even those - that comes enabled by default with XMail). @@ -494,7 +494,7 @@ =item 4. -Copy XMail executables to 'B<C:\MailRoot\bin>'. Copy also the OpenSSL DLLs located in +Copy XMail executables to 'B<C:\MailRoot\bin>'. Also copy the OpenSSL DLLs located in "win32ssl\dll" to 'B<C:\MailRoot\bin>'. =item 5. @@ -527,7 +527,7 @@ =item 10. -If you have other services that give the same functionality of XMail, that is +If you have other services that provide the same functionality as XMail, that is SMTP, POP3, or Finger servers, you must stop these services. =item 11. @@ -557,7 +557,7 @@ =item 16. -Setup the file 'B<smtprelay.tab>' if you want to extend mail relaying to IPs out +Setup the file 'B<smtprelay.tab>' if you want to extend mail relaying to IPs outside of the internet's private IP blocks (or you want to deny even those - that comes enabled by default with XMail). @@ -579,7 +579,7 @@ =item [MAIL_ROOT] If you want to start XMail as a simple test you must setup an environment variable -MAIL_ROOT that point to the XMail Server root directory. +MAIL_ROOT that points to the XMail Server root directory. Linux/etc.: @@ -591,12 +591,12 @@ =item [MAIL_CMD_LINE] -Let the user to specify extra command line parameters (they will be appended to the +Allows the user to specify extra command line parameters (they will be appended to the ones specified in the command line). =item [XMAIL_PID_DIR] -Let the user to specify the PID directory (Unix only ports). The specified directory must +Allows the user to specify the PID directory (Unix only ports). The specified directory must NOT have the final slash (/) appended to the path. =back @@ -798,12 +798,12 @@ "home.bogus" "foo*bog" "[EMAIL PROTECTED]" define an alias for all users whose name starts with 'B<foo>' and ends with 'B<bog>' -that point to the locally handled account 'B<homerE<64>internal-domain.org>'. +that points to the locally handled account 'B<homerE<64>internal-domain.org>'. "home.bogus" "??trips" "travels" define an alias for all users whose names start with any two chars and end with 'B<trips>'. -You can have widcard even in the domain field, as: +You can even have wildcards in the domain field, as: "*" "postmaster" "[EMAIL PROTECTED]" @@ -855,7 +855,7 @@ This file is used in configurations in which the server does not run directly on Internet (like my case) but acts as internal mail exchanger and external mail gateway. This file defines 'Return-Path: <...>' mapping for internal mail delivery. -If you are using a Mail client like Outlook, Eudora, KMail ... you have to configure +If you are using an Mail client like Outlook, Eudora, KMail ... you have to configure your email address with the external account say 'dlibenziE<64>xmailserver.org'. When you post an internal message to 'fooE<64>home.bogus' the mail client puts your external email address ('dlibenziE<64>xmailserver.org') in the 'MAIL FROM: <...>' SMTP request. @@ -880,7 +880,7 @@ defines an account 'dlibenzi' in domain 'home.bogus' with the encrypted password 'XYZ...', user id '1' and mail directory 'dlibenzi' inside 'B<$MAIL_ROOT/domains/home.bogus>'. To allow multiple domain handling the POP3 client must use the entire email address -for the POP3 user account; for example. if a user has email userE<64>domain it must supply: +for the POP3 user account; for example, if a user has email userE<64>domain it must supply: [EMAIL PROTECTED] @@ -937,7 +937,7 @@ =item STLS Establish an SSL link with the server by issuing a POP3 STLS command. -Continue with the non-encrypted link is STLS is not supported +Continue with the non-encrypted link if STLS is not supported =item FSTLS @@ -949,7 +949,7 @@ =item Leave -Leave messages on the server, and download only the new ones. In order this +Leave messages on the server, and download only the new ones. In order for this functionality to work, the remote POP3 server must support the UIDL command. =item OutBind @@ -961,18 +961,18 @@ =back -Examples; +Examples: "home.bogus" "dlibenzi" "xmailserver.org" "dlibenzi" "XYZ..."=> "APOP" This entry is used to synchronize the external account 'dlibenziE<64>xmailserver.org' with encrypted password 'XYZ...' with the local account 'dlibenziE<64>home.bogus' using 'B<APOP>' authentication. -It connect with the 'xmailserver.org' POP3 server and download all messages for 'dlibenziE<64>xmailserver.org' into +It connects with the 'xmailserver.org' POP3 server and downloads all messages for 'dlibenziE<64>xmailserver.org' into the local account 'dlibenziE<64>home.bogus'. The remote server must support 'B<APOP>' authentication to specify 'B<APOP>' as authtype. -Even if using APOP authentication is more secure because clear usernames and password does not -travel on the network, if you're not sure about it, specify 'B<CLR>' as authtype. +Even if using APOP authentication is more secure because clear usernames and password do not +travel on the network, when you're not sure about it, specify 'B<CLR>' as authtype. For non local POP3 sync you've to specify a line like this one (E<64> as the first domain char): "@home.bogus.com" "dlibenzi" "xmailserver.org:110" "dlibenzi" "XYZ..."=> @@ -994,7 +994,7 @@ =item 1. -XMail parse the message headers by searching for To:, Cc: and Bcc: addresses. +XMail parses the message headers by searching for To:, Cc: and Bcc: addresses. =item 2. @@ -1015,7 +1015,7 @@ a valid external mail domain. So if a message having as To: address graycatE<64>felins.net is fetched by the previous line a message is pushed into the spool with address graycatE<64>home.bogus.com. -Particular attention is to be taken about at not creating mail loops. +Particular attention must be paid to prevent creating mail loops. Another option is: "&.local,felins.net,pets.org" "dlibenzi" "xmailserver.org" "dlibenzi"=> @@ -1055,13 +1055,13 @@ "*.dummy.net" "@relay.xmailserver.org" -sends all mail for "*'*.dummy.net' through 'relay.xmailserver.org'. +sends all mail for '*.dummy.net' through 'relay.xmailserver.org'. The 'B<smtp-gateway>' can be a complex routing also, for example: "*.dummy.net" "@relay.xmailserver.org,@mail.nowhere.org" -sends all mail for "*'*.dummy.net' through 'E<64>relay.xmailserver.org,E<64>mail.nowhere.org', +sends all mail for '*.dummy.net' through 'E<64>relay.xmailserver.org,E<64>mail.nowhere.org', in this way: relay.xmailserver.org --> mail.nowhere.org --> E<64>DESTINATION. [L<table index|"Configuration tables">] [L<configuration|"Configuration">] [L<top|"__index__">] @@ -1083,7 +1083,7 @@ "*.dummy.net" "mail.xmailserver.org,NeedTLS=1;192.168.1.1;mx.xmailserver.org:6423" -sends all mail for "*'*.dummy.net' through the provided list of mail exchangers. +sends all mail for '*.dummy.net' through the provided list of mail exchangers. If the port (:nn) is not specified the default SMTP port (25) is assumed. you can also enable XMail to random-select the order of the gateway list by specifying: @@ -1109,7 +1109,7 @@ "username"[TAB]"password"[TAB]"permissions"[NEWLINE] -is used to permit SMTP clients authentication with protocols PLAIN, LOGIN, CRAM-MD5 +is used to permit SMTP client authentication with protocols PLAIN, LOGIN, CRAM-MD5 and custom. With custom authentication a file containing all secrets (username + ':' + password) is passed as parameter to the custom authentication program which tests all secrets @@ -1149,7 +1149,7 @@ accounts is performed to avoid duplicating information with 'B<SMTPAUTH.TAB>'. Therefore when using these authentication modes a user must use as username the full email address (the : separator is permitted instead of @) and as password his POP3 password. -If the lookup succeed the 'B<SERVER.TAB>' variable 'B<DefaultSmtpPerms>' is used to assign +If the lookup succeeds, the 'B<SERVER.TAB>' variable 'B<DefaultSmtpPerms>' is used to assign user SMTP permissions (default MR). If the lookup fails then 'B<SMTPAUTH.TAB>' lookup is done. @@ -1157,7 +1157,7 @@ =head3 SMTPEXTAUTH.TAB -The 'B<SMTPEXTAUTH.TAB>' file enable the XMail administrator to use external authentications +The 'B<SMTPEXTAUTH.TAB>' file enables the XMail administrator to use external authentication methods to verify SMTP clients. If the 'B<SMTPEXTAUTH.TAB>' does not exist, or it is empty, XMail standard authentication methods are used, and those will use either the 'B<MAILUSERS.TAB>' or the 'B<SMTPAUTH.TAB>' to verify account credentials. @@ -1197,7 +1197,7 @@ =item RFILE a file path where the external authentication binary might supply extra -informations/credentials about the account (available in all authentications) +information/credentials about the account (available in all authentications) =back @@ -1211,7 +1211,7 @@ =item Perms -Supply SMTP permissions for the account (see [L<SMTPAUTH.TAB|"SMTPAUTH.TAB">] for detailed inforamtion) +Supply SMTP permissions for the account (see [L<SMTPAUTH.TAB|"SMTPAUTH.TAB">] for detailed information) =back @@ -1241,14 +1241,14 @@ contains user default values for new users that are not set during the new account creation. This file is looked up in two different places, first in 'B<$MAIL_ROOT/domains/DOMAIN>' then in 'B<$MAIL_ROOT>', -where 'B<DOMAIN>' is the name of the domain where We're going to create the new user. +where 'B<DOMAIN>' is the name of the domain where we're going to create the new user. For each 'domain' handled by the server we'll create a directory 'domain' inside $MAIL_ROOT. Inside $MAIL_ROOT/'domain' reside 'domain'->'account' directories ($MAIL_ROOT/'domain'/'account'). This folder contains a sub folder named 'B<mailbox>' (or 'B<Maildir/(tmp,new,cur)>') that stores all 'account' messages. -It also contains a file named 'B<USER.TAB>' that stores"account" variables, example: +It also contains a file named 'B<USER.TAB>' that stores "account" variables, for example: "RealName" "Davide Libenzi" "HomePage" "http://www.xmailserver.org/davide.html" @@ -1260,10 +1260,10 @@ "username"[TAB]"password"[NEWLINE] -This file contains the accounts that are enable to remote administer XMail. +This file contains the accounts that are enabled to remote administer XMail. The password is encrypted with the 'B<XMCrypt>' program supplied with the source distro. -'B<REMEMBER THAT THIS HOLDS ADMIN ACCOUNTS, SO PLEASE CHOOSE COMPLEX USERNAMES AND PASSWORDS AND +'B<REMEMBER THAT THIS FILE HOLDS ADMIN ACCOUNTS, SO PLEASE CHOOSE COMPLEX USERNAMES AND PASSWORDS AND USE CTRL.IPMAP.TAB TO RESTRICT IP ACCESS! REMEMBER TO REMOVE THE EXAMPLE ACCOUNT FROM THIS FILE!>' @@ -1290,15 +1290,15 @@ "212.131.173.0" "255.255.255.0" "212.131.173.0/24" -register all hosts of the class 'C' network '212.131.173.XXX' as spammers, -and block them the use of XMail SMTP server. If a match is found on one of those records, -XMail will reject the incoming SMTP connection at early stages. It is possible to specify -optional parameters to tell XMail which behaviour it should assume in case of match. An -example of such setup is: +registers all hosts of the class 'C' network '212.131.173.XXX' as spammers, +and blocks them the use of XMail SMTP server. If a match is found on one of those records, +XMail will reject the incoming SMTP connection at an early stage. It is possible to specify +optional parameters to tell XMail which behaviour it should assume in case of a match. An +example of such a setup is: "212.131.173.0/24" "code=0" -In this case a code=0 tells XMail to flag the connection as possible spammer, but wait later +In this case a code=0 tells XMail to flag the connection as possible spammer, but to await later SMTP session stages to reject the connection itself. In this case an authenticated SMTP session can override the SPAMMERS.TAB match. The optional "params" field lists parameters associated with the record, separated by a comma: @@ -1313,7 +1313,7 @@ Specify the rejection code for the record. If the value is greater than zero, the connection is rejected soon, and the remote SMTP client is disconnected. If the value is zero, the -connection is flagged as spammer but wait later stages for rejection, by allowing +connection is flagged as spammer but awaits later stages for rejection, by allowing authenticated SMTP connections to bypass the SPAMMERS.TAB match. If the value is less than zero, XMail will insert an "absolute value" seconds delay between SMTP commands. Default value for code is greater than zero (immediate rejection). @@ -1474,7 +1474,7 @@ "command"[TAB]"arg-or-macro"[TAB]...[NEWLINE] stores commands (internals or externals) that have to be executed on a message file. -The presence of this file is optional ans if it does not exist the default processing +The presence of this file is optional and if it does not exist the default processing is to store the message in user mailbox. The 'B<MAILPROC.TAB>' file can be either per user or per domain, depending where the file is stored. If stored inside the user directory it applies only to the user whose directory hosts the 'B<MAILPROC.TAB>', while @@ -1543,7 +1543,7 @@ wait timeout for process execution in seconds: 0 = nowait -Be carefull if using $(FILE) to give the external command enough timeout to complete, +Be careful if using $(FILE) to give the external command enough timeout to complete, otherwise the file will be removed by XMail while the command is processing. This is because such file is a temporary one that is deleted when XMail exits from 'B<MAILPROC.TAB>' file processing. In case the external command exit code will @@ -1707,8 +1707,6 @@ See [L<SMTP.IPPROP.TAB|"SMTP.IPPROP.TAB">] for information about the properties allowed to be listed in this file. -=back - [L<table index|"Configuration tables">] [L<configuration|"Configuration">] [L<top|"__index__">] =head3 FILTERS.IN.TAB @@ -1967,7 +1965,7 @@ wait timeout for process execution in seconds: 0 = nowait -Be carefull if using $(FILE) to give the external command enough timeout to complete, +Be careful if using $(FILE) to give the external command enough timeout to complete, otherwise the file will be removed by XMail while the command is processing. This is because such file is a temporary one that is deleted when XMail exits from file processing. In case the external command exit code will be 'B<16>', @@ -2341,7 +2339,7 @@ maps-root:code,maps-root:code... -Where maps-root is the root for the dns query (ie. dialups.mail-abuse.org.) +Where maps-root is the root for the DNS query (i.e. dialups.mail-abuse.org.) and the code can be: =over 8 @@ -2610,7 +2608,7 @@ it 'B<MUST>' terminate all line with <CR><LF>. The filter has also the ability to return a one-line custom return message by creating a file named $(FILE).rej holding the message in the very first line. This file should be created 'B<ONLY>' when the filter returns a -rejection code ('B<6, 5 and 4>')and 'B<NEVER>' in case of passthru code ('B<7>') or modify code. +rejection code ('B<6, 5 and 4>')and 'B<NEVER>' in case of passthrough code ('B<7>') or modify code. The spool files has this structure: @@ -2782,7 +2780,7 @@ where "real-address" is the "address" after it has been translated (if aliases applies) to the real local address. Otherwise it holds the same value of "address". -In case one or more SMTP filter functionalities are not needed, avoid to create zero sized +In case one or more SMTP filter operations are not needed, avoid to create zero sized files altogether, since this will result in faster processing. [L<top|"__index__">] @@ -2795,25 +2793,25 @@ =item [RealName] -Full user name, ie.: +Full user name, i.e.: "RealName" "Davide Libenzi" =item [HomePage] -User home page, ie.: +User home page, i.e.: "HomePage" "http://www.xmailserver.org/davide.html" =item [MaxMBSize] -Max user mailbox size in Kb, ie.: +Max user mailbox size in Kb, i.e.: "MaxMBSize" "30000" =item [ClosedML] -Specify if the mailing list is closed only to subscribed users, ie.: +Specify if the mailing list is closed only to subscribed users, i.e.: "ClosedML" "1" @@ -2879,7 +2877,7 @@ =head1 XMAIL SPOOL DESIGN -The new spool fs tree format has been designed to enable XMail to handle very +The new spool filesystem tree format has been designed to enable XMail to handle very large queues. Instead of having a single spool directory (like versions older than 0.61) a two layer deep splitting has been introduced so that its structure is: @@ -3011,13 +3009,13 @@ In the same way as B<SSLUseCertsFile> does, setting B<SSLUseCertsDir> to 1 enables the usage of extra valid certificates stored inside the 'B<CERTS>' XMail sub-directory. -The 'B<CERTS>' containes hashed file names that are created by feeding the directory -path to the 'B<c_rehash>' OpenSSL Perl script (a Windows-friedly version of 'B<c_rehash>', named +The 'B<CERTS>' contains hashed file names that are created by feeding the directory +path to the 'B<c_rehash>' OpenSSL Perl script (a Windows-friendly version of 'B<c_rehash>', named 'B<c_rehash.pl>' is contained inside the 'B<win32ssl\bin>' subdirectory of the source package). Unix users will find proper CA certificates inside the standard install paths of OpenSSL, while Windows users will find them inside the 'B<win32ssl\certs>' subdirectory of the source package. To use 'B<c_rehash>' you need to have the OpenSSL binaries (executable and -shared libraries) correctly installed in your system, and the executable reacheable from +shared libraries) correctly installed in your system, and the executable reachable from your B<PATH>. Then you simply run it by passing the path to the PEM certificates directory ('B<CERTS>'). The 'B<c_rehash>' script will call the OpenSSL binary and will generated hashed file names (that are either symlinks or copies) that point/replicate the mapped @@ -3271,7 +3269,7 @@ =item -Sr maxrcpts -Set the maximu number of recipients for a single SMTP message (default 100). +Set the maximum number of recipients for a single SMTP message (default 100). =item -Se nsecs @@ -4319,7 +4317,7 @@ "aliasdomainadd"[TAB]"xmailserver.org"[TAB]"*.xmailserver.org"<CR><LF> -defines all subdomains of 'B<xmailserver.org>' as alises of 'B<xmailserver.org>'. +defines all subdomains of 'B<xmailserver.org>' as aliases of 'B<xmailserver.org>'. [L<admin protocol|"XMail admin protocol">] [L<top|"__index__">] @@ -4968,7 +4966,7 @@ =back -With the command and parameters that follow adhering to the command syntax, ie: +With the command and parameters that follow adhering to the command syntax, i.e.: CtrlClnt -s mail.foo.org -u davide.libenzi -p ciao=> useradd home.bogus foouser foopasswd U - To unsubscribe from this list: send the line "unsubscribe xmail" in the body of a message to [EMAIL PROTECTED] For general help: send the line "help" in the body of a message to [EMAIL PROTECTED]
