divert(-1) dnl This is the macro config file used to generate the /etc/sendmail.cf dnl file. If you modify the file you will have to regenerate the dnl /etc/sendmail.cf by running this macro config through the m4 dnl preprocessor: dnl dnl m4 cyrus-imap-mailertable.mc > /etc/mail/sendmail.cf dnl dnl You will need to have Cyrus IMAP v2.2.2 or more recent with smmapd enabled. dnl dnl You will need to have the sendmail-cf package installed for this to dnl work. include(`@@PATH@@/m4/cf.m4')dnl dnl define(`confDEF_USER_ID',``mail:mail'')dnl OSTYPE(`linux')dnl undefine(`UUCP_RELAY')dnl undefine(`BITNET_RELAY')dnl dnl define(`confCOPY_ERRORS_TO', `mailerror')dnl dnl define(`confDOUBLE_BOUNCE_ADDRESS', `bounceerror')dnl define(`SMTP_MAILER_MAX',`52428800')dnl define(`confMAX_DAEMON_CHILDREN',`500')dnl define(`confALIAS_WAIT', `30')dnl define(`confTO_CONNECT', `2m')dnl define(`confTO_ACONNECT', `6m')dnl define(`confTRY_NULL_MX_LIST',true)dnl define(`confDONT_PROBE_INTERFACES',true)dnl define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')dnl define(`confPID_FILE', `/var/run/sendmail/sendmail.pid')dnl define(`QUEUE_DIR',`/var/spool/mqueue/queue*')dnl dnl define(`confDELIVERY_MODE', `i')dnl dnl MASQUERADE_AS(`localhost.localdomain')dnl dnl FEATURE(`limited_masquerade')dnl dnl FEATURE(`masquerade_envelope')dnl FEATURE(`smrsh',`/usr/sbin/smrsh')dnl FEATURE(mailertable)dnl VIRTUSER_DOMAIN_FILE(`/etc/mail/virtuserdomains')dnl FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable')dnl FEATURE(redirect)dnl FEATURE(always_add_domain)dnl FEATURE(use_cw_file)dnl FEATURE(local_procmail)dnl FEATURE(`access_db')dnl FEATURE(`blacklist_recipients')dnl FEATURE(`delay_checks', FRIEND)dnl dnl FEATURE(`greet_pause', `5000')dnl FEATURE(`ratecontrol', `nodelay', `terminate')dnl FEATURE(`conncontrol', `nodelay', `terminate')dnl dnl -------- hack & feature collection of Victor Ustugov dnl see README.corvax.* for more information dnl HACK(`cfhead')dnl dnl HACK(`check_helo')dnl dnl HACK(`check_relay_dialup')dnl dnl dnl *** be carefully *** dnl You SHOULD specify contact instructions in error's explanatory message. dnl It can be a URL if instructions too big. dnl dnl define(`confCHECK_RELAY_DIALUP', `CLIENT_PTR')dnl dnl HACK(`check_relay_dialup_regex',``^(.+[\.\-])?(adsl|isdn|xdsl|cable|client|dhcp|dial|dial-in|dial-up|dialup|dsl|dyn|dynamic|dyndsl|pool|pooles|ppp|user)[\.\-_0-9].+'', dnl ``550 Access from dsl/dial-up/cable relays denied, use SMTP of your provider. regexp 00, "''$&{client_ptr}``" ["''$&{client_addr}``"]'')dnl dnl HACK(`check_relay_dialup_regex',``[0-9]{1,3}[-\.][0-9]{1,3}[-\.][0-9]{1,3}[-\.][0-9]{1,3}[-\.]'', dnl ``550 Access from dsl/dial-up/cable relays denied, use SMTP of your provider. regexp 01, "''$&{client_ptr}``" ["''$&{client_addr}``"]'')dnl dnl HACK(`check_relay_dialup_regex',``(dial-user|^adsl-|adsl-pool|[A-F0-9]{14})'', dnl ``550 Access from dsl/dial-up/cable relays denied, use SMTP of your provider. regexp 02, "''$&{client_ptr}``" ["''$&{client_addr}``"]'')dnl dnl -------- blacklists configuration ---------- dnl -- mail-abuse.org dnl FEATURE(dnsbl, `blackholes.mail-abuse.org', `Rejected - see http://www.mail-abuse.org/rbl/')dnl dnl FEATURE(dnsbl, `dialups.mail-abuse.org', `Dialup - see http://www.mail-abuse.org/dul/')dnl dnl FEATURE(dnsbl, `relays.mail-abuse.org', `Open spam relay - see http://www.mail-abuse.org/rss/')dnl dnl -- rfc-ignorant.org dnl FEATURE(rhsbl,`bogusmx.rfc-ignorant.org',`"550 Mail from domain " $`'&{RHS} " refused. MX of your domain have a bogus address - see http://www.rfc-ignorant.org/"') dnl FEATURE(rhsbl,`dsn.rfc-ignorant.org',`"550 Mail from domain " $`'&{RHS} " refused. MX of domain do not accept bounces. This violates RFC 821/2505/2821 - see http://www.rfc-ignorant.org/"') dnl FEATURE(rhsbl,`postmaster.rfc-ignorant.org',`"550 Mail from domain " $`'&{RHS} " refused. MX of domain does not have a working postmaster address - see http://www.rfc-ignorant.org/"') dnl FEATURE(rhsbl,`abuse.rfc-ignorant.org',`"550 Mail from domain " $`'&{RHS} " refused. MX of domain does not have a working abuse address - see http://www.rfc-ignorant.org/"') dnl ** Attention ! Some whois services data (for example RU Center) dnl ** is not correspond with whois.rfc-ignorant.org policy ! dnl FEATURE(rhsbl,`whois.rfc-ignorant.org',`"550 Mail from domain " $`'&{RHS} " refused. Rejected for bad WHOIS info on your domain - see http://www.rfc-ignorant.org/"') dnl FEATURE(dnsbl,`ipwhois.rfc-ignorant.org',`"550 Mail from " $&{client_addr} " refused. Rejected for bad WHOIS info on IP of your SMTP server - see http://www.rfc-ignorant.org/"') dnl -------- blacklists configuration end ------ dnl SASL Configuration dnl extract from http://www.sendmail.org/~ca/email/auth.html dnl dnl Next two lines are for SMTP Authentication dnl TRUST_AUTH_MECH(`LOGIN PLAIN')dnl dnl define(`confAUTH_MECHANISMS', `LOGIN PLAIN')dnl dnl dnl Next line stops sendmail from allowing auth without encryption dnl define(`confAUTH_OPTIONS', `Ap')dnl dnl dnl STARTTLS configuration dnl extract from http://www.sendmail.org/~ca/email/starttls.html dnl dnl define(`CERT_DIR', `MAIL_SETTINGS_DIR`'certs')dnl dnl define(`confCACERT_PATH', `CERT_DIR')dnl dnl define(`confCACERT', `CERT_DIR/CAcert.pem')dnl dnl define(`confSERVER_CERT', `CERT_DIR/MYcert.pem')dnl dnl define(`confSERVER_KEY', `CERT_DIR/MYkey.pem')dnl dnl define(`confCLIENT_CERT', `CERT_DIR/MYcert.pem')dnl dnl define(`confCLIENT_KEY', `CERT_DIR/MYkey.pem')dnl dnl dnl ------- Cyrus IMAP ----------- dnl Checking recipient in Cyrus-IMAP subsystem dnl It's based on patches from Andrzej Filip http://anfi.homeunix.net/sendmail/#cyrus dnl see README.cyrus-imap for more information FEATURE(`mrs')dnl FEATURE(`mrs_cyrus',`smmapd@localhost',`inet')dnl dnl ------- Cyrus IMAP ----------- dnl MAILER(smtp)dnl MAILER(local)dnl define(`CYRUSV2_MAILER_ARGS',`TCP localhost lmtp')dnl MODIFY_MAILER_FLAGS(`CYRUSV2',`-A5')dnl MAILER(cyrusv2)dnl dnl dnl ------- Milter filters ------ dnl define(`_FFR_MILTER',1)dnl dnl define(`confDONT_BLAME_SENDMAIL',`GroupWritableDirPathSafe')dnl dnl define(`confMILTER_LOG_LEVEL',`9')dnl dnl dnl define(`confMILTER_MACROS_CONNECT',confMILTER_MACROS_CONNECT`, i')dnl Need for: milter-clamav dnl define(`confMILTER_MACROS_EOM', confMILTER_MACROS_EOM`, s')dnl Need for: milter-clamav dnl INPUT_MAIL_FILTER(`milter-regex',`S=local:/var/run/milter-regex/milter-regex.sock, T=C:15s;S:30s;R:180s;E:1m')dnl dnl INPUT_MAIL_FILTER(`milter-verify_sender',`S=local:/var/run/verify_sender/verify_sender.sock, T=C:15s;S:30s;R:1m;E:1m')dnl dnl INPUT_MAIL_FILTER(`milter-clamav', `S=local:/var/run/clamav/clmilter.sock, T=C:15s')dnl