-*- Text -*- README $Id: README,v 1.2 2000/02/05 00:41:27 waider Exp $ m4mailconf is intended to replace mailconf as a means of generating more robust/forward-compatible sendmail configurations from Linuxconf. It generates a .mc file which can be fed to sendmail's m4 configuration system. CAVEAT EMPTOR and all that. I am making no guarantees about this. In particular, I run a non-essential email service on a RedHat 6.1 machine, and I know enough about it to manually repair anything I break. I've deliberately not made this module generate a new sendmail.cf, since that's just ASKING for trouble. You'll need to hand-build the .cf file from the .mc. Let me repeat: no guarantees. no warranty. use at your own risk. don't be silly. Licensing: I have basic disagreements with the GPL. This software is under a simple license: do what you want with it. Sure, I'd like credit, but hey, maybe you don't want to give it. Sure, I'd like royalties if you make money selling or installing this, but again, it's your prerogative. Software wants to be free of all bounds, and that includes licenses that _force_ you to do anything. I'm relying on your good nature, thanks. The rest of this file contains assorted notes and bits and pieces I've used while building this module. --------------------- BUILDING ----------------------------- I've packed this with a .spec file and such. It would like you to have linuxconf-devel installed. do make rpm as root, and it'll brew up an rpm for you. If you're not on RedHat, see above. All bets are off, basically; the non-RedHat bits are cribbed directly from mailconf. I have only a RedHat machine to test on, sorry. --------------------- FEATURES ----------------------------- mailconf vs. m4mailconf supported stuff as of $Date: 2000/02/05 00:41:27 $ mailconf | m4mailconf ================+===================== basic info | excludes "don't use DNS" domain routing | yes, including error: and local: pseudomailers user routing | maybe! See below masquerading | yes mail-to-fax | no virtual domains | no mail queue mgmt | yes aliases | yes v.dom. aliases | no spam control | everything! (see RELAY CONTROL, below) * user routing is implemented by using LOCAL_RULE_0 to dump the linuxconf hacks into S0. However, linuxconf puts these at the start of S0, where as LOCAL_RULE_0 puts them after the initial canonicalisation has been done. Unfortunately, I'm not sure it's actually working just yet. * masquerading on a per-user basis uses LOCAL_RULE_1, which I think is exactly the same as linuxconf. * mail-to-fax will be fixed in the next release. * ditto for virtual domains. * pophash, too. hope you weren't using that. .mc parsing isn't in place yet. use of things like LOCAL_RULE_* make it more difficult to do sensibly. I'll try parsing redhat.mc first, and see how it goes from there. ------------------- RELAY CONTROL--------------------------- (from the sendmail web site) As of sendmail version 8.9, forwarding of SMTP messages is not permitted by default. For example, if you are on site A.COM, you will not accept mail from B.NET destined for C.ORG without special arrangements. These instructions assume that you are using the M4 technique for creating your sendmail.cf files; if you are not, you are on your own. The simplest approach is to list the domains you are willing to relay in the file /etc/mail/relay-domains. Anything listed in this file will be accepted for relaying. N.B.: Sendmail must be restarted after this file is modified. Relay (anti-spam) controls: (excerpted from sendmail.org website) FEATURE(relay_hosts_only). Normally domains are listed in /etc/mail/relay-domains; any hosts in those domains match. With this feature, each host in a domain must be listed. FEATURE(relay_entire_domain). Setting this feature allows relaying of all hosts within your domain. For example, on the host gateway.A.COM, this feature allows mail to or from any host in the A.COM domain. More precisely, this relays any host listed in the $=m class. This is equivalent to listing the name of the domain in /etc/mail/relay-domains. FEATURE(access_db). This enables the hash database /etc/mail/access to enable or disable access from individual domains (or hosts, if FEATURE(relay_hosts_only) is set). The database format is described below. FEATURE(blacklist_recipients). If set, this feature looks up recipients as well as senders in the access database. FEATURE(rbl). Enables rejection of mail based on the Realtime Blackhole List maintained at maps.vix.com. FEATURE(accept_unqualified_senders). Normally, sendmail will not accept mail from a sender without a domain attached -- for example, user instead of user@B.NET. This feature allows such users. FEATURE(accept_unresolvable_domains). Normally, sendmail will refuse to accept mail that has a return address with a domain that cannot be resolved using the regular host lookups (a technique commonly used by spammers). This feature permits acceptance of such addresses. Unresolvable domains can be selectively accepted using the access database. FEATURE(relay_based_on_MX). Setting this feature permits relaying for any domain that is directed to your host. Several other features are probably a bad idea, unless you are inside a firewall, because they make your system vulnerable to abuse by spammers: FEATURE(relay_local_from). This feature allows relaying if the message claims to originate at your domain. Since forging this address is trivial, this is probably a bad idea. FEATURE(loose_relay_check). This turns off checking for explicit routing through your host, such as target%C.ORG@A.COM. FEATURE(promiscuous_relay). If you really want to forward all the spam on the net, this will turn off all checking for relaying.