Differences between current version and predecessor to the previous major change of HowToMailQueue.
Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History
Newer page: | version 3 | Last edited on Thursday, October 21, 2004 5:30:04 pm | by AristotlePagaltzis | |
Older page: | version 2 | Last edited on Friday, June 7, 2002 1:07:04 am | by perry | Revert |
@@ -1,635 +1 @@
-
-
-
-Linux Mail-Queue mini-HOWTO
-
-
-
-----
-
-!!!Linux Mail-Queue mini-HOWTO
-
-!!Leif Erlingsson, leif@lege.com, Jan P Tietze, jptietze@mail.hh.provi.dev2.03, 2001-12-17, sendmail 8.8.7
-
-
-----
-''Queue Remote Mail + Deliver Local Mail
-The Configuration Changes Neccessary to Make Sendmail Deliver Local Mail
-***Now*** While Stashing Remote Mail in The Queue Until "I Say So".''
-----
-
-
-
-
-!!1. Introduction
-
-
-
-
-!!2. NON dial-on-demand solutions PART
-
-
-*2.1 Starting sendmail
-
-*2.2 Configuring sendmail
-
-*2.3 Menu support suggestions
-
-
-
-
-
-!!3. Dial-on-demand solutions PART
-
-
-*3.1 Configuring sendmail.cf
-
-*3.2 Adding dial delay
-
-
-
-
-
-!!4. Delivering e-mail
-
-
-*4.1 How to have e-mail delivered at special times.
-
-
-
-
-
-!!5. License
-----
-
-!!1. Introduction
-
-
-The document is written by two authors. The NON dial-on-demand solutions
-part (oldest part) is written by Leif Erlingsson <leif@lege.com>, and the
-newer dial-on-demand solutions part is written by
-Jan P Tietze <jptietze@mail.hh.provi.de>.
-
-
-
-
-
-
-----
-
-!!2. NON dial-on-demand solutions PART
-
-
-Written by Leif Erlingsson <leif@lege.com>.
-
-
-The original version of this part contained a lot of unnecessary
-stuff. This is all it takes, really...
-
-
-
-
-!!2.1 Starting sendmail
-
-
-
-Slackware et al: /etc/rc.d/rc.M:
-
-
-
-
-
-echo "Starting sendmail daemon (/usr/sbin/sendmail -bd -os)
[[queue only mode
]..."
-/usr/sbin/sendmail -bd -os # NOT "-bd -q 15m", the "standard" flags!
-
-
-
-
-
-
-
-!RedHat et al: /etc/rc.d/init.d/sendmail.init:
-
-
-
-
-
-echo -n "Starting sendmail: [[queue only mode]"
-daemon sendmail -bd -os # NOT daemon sendmail -bd -q1h
-
-
-
-
-
-
-
-The -os is not really essential, all it does is this:
-
-
-
-
-
-!SuperSafe [[s] Be super-safe when running things, i.e.,
-always instantiate the queue file, even if
-you are going to attempt immediate delivery.
-Sendmail always instantiates the queue file
-before returning control the client under
-any circumstances. This should really
-always be set.
-
-
-
-
-
-
-
-This should already be configured in the default sendmail.cf anyway.
-
-
-
-
-!!2.2 Configuring sendmail
-
-
-
-Serious sendmail users use the m4 source for this. I recommend
-this solution if you ever plan on upgrading sendmail and also
-make anything but trivial changes to sendmail.cf.
-
-
-If you never intend to fix sendmail so envelope return headers
-et al works even though you might be on dynamic dial in IP or
-something, then you may not need to get the m4 source.
-
-
-
-
-!Configuring sendmail.cf directly, for trivial configurations
-
-
-This way of doing things is extremeley version dependent vs.
-sendmail.cf versions. The following solution is *only* valid
-for sendmail-8.8.x.
-
-
-Edit /etc/sendmail.cf:
-
-
-
-
-
-# avoid connecting to "expensive" mailers on initial submission?
-O !HoldExpensive=True
-
-
-
-
-... later ...
-
-
-
-
-
-##### @(#)smtp.m4 8.33 (Berkeley) 7/9/96 #####
-Msmtp, P=[[IPC], F=mDFMuXe, S=11/31, R=21, E=\r\n, L=990,
-T=DNS/RFC822/SMTP,
-A=IPC $h
-Mesmtp, P=[[IPC], F=mDFMuXae, S=11/31, R=21, E=\r\n, L=990,
-T=DNS/RFC822/SMTP,
-A=IPC $h
-Msmtp8, P=[[IPC], F=mDFMuX8e, S=11/31, R=21, E=\r\n, L=990,
-T=DNS/RFC822/SMTP,
-A=IPC $h
-Mrelay, P=[[IPC], F=mDFMuXa8e, S=11/31, R=61, E=\r\n, L=2040,
-T=DNS/RFC822/SMTP,
-A=IPC $h
-
-
-
-
-
-
-
-The important flag above is ``e''. Don't fuss if the other flags
-look different in your file. Keep your flags as-is, only add ``e''
-to your flags according to the above examples, unless it's there
-already. ``e'' marks the mailers as ``expensive''.
-
-
-
-
-!Configuring sendmail.cf using m4 source
-
-
-In the following I will, for simplicity, assume that the sendmail
-version is 8.8.7. If you have a different version, replace 8.8.7
-with that version number below! Also, the instructions will not
-work for older versions of sendmail. Get the latest sendmail!
-
-
-
-
-
-Download the sendmail source.
-Try ``http://WWW.Sendmail.ORG'' or possibly ``ftp.sendmail.org''.
-
-
-
-
-
-I also recommend that you obtain my patch for allowing envelope
-sender reverse aliasing and other nice stuff to really make you
-take control over your mail environment.
-
-
-Write to ``Sendmail Patch <sendmail@lege.com>'',
-Subject: ``sendmail-8.8.7'', if 8.8.7 is your sendmail version.
-
-
-They are also available from ``http://www.lege.com'', as is
-the sgml source of this mini-HOWTO!
-
-
-You don't have to get my patches in order to get ``Queue Remote
-Mail + Deliver Local Mail'' to work. My patches solve other
-things. But I just thought this would be a nice place to mention
-them, as many Linux users will find them extremely useful.
-(They will even give you properly working virtual domains, if you
-like. The virtual domains don't have to be ``local''. They will
-give you ``xaliases'', or in other words ``reverse aliasing''.)
-
-
-Unpack the sendmail source. You may get /usr/src/sendmail-8.8.7/.
-cd /usr/src/sendmail-8.8.7/cf
-
-
-Now overlay my patch, if you want it, otherwise skip this step:
-If you don't want to use procmail as Local Delivery Agent, save
-away your /usr/src/sendmail-8.8.7/cf/ostype/linux.m4 before
-doing this...
-Save my patch to ``/tmp/sendmail-8.8.7-cf-cpio-idcmu.gz'', then...
-
-
-cd /usr/src/sendmail-8.8.7/cf
-gzip -dc < /tmp/sendmail-8.8.7-cf-cpio-idcmu.gz | cpio -idcmu
-
-
-If you didn't want to use procmail, write back the saved copy of
-/usr/src/sendmail-8.8.7/cf/ostype/linux.m4 again.
-
-
-And regardless of if you applied my patch or not, you must make
-sure these lines or very similar ones are added to
-/usr/src/sendmail-8.8.7/cf/cf/yourhostname.smtp.mc
-(but if you applied my patch you may want to investigate filenames
-containing the word ``elijah'', under /usr/src/sendmail-8.8.7/cf):
-
-
-
-
-
-dnl # Defer Delivery to "expensive" mailers until next time the
-dnl # queue is processed using "O !HoldExpensive=True" and make
-dnl # sure smtp mailers are "expensive".
-dnl # (See original "sendmail" book Chapter 30: Options,
-dnl # "Oc - Don't connect to expensive mailers", or
-dnl # 2nd Edition "sendmail" book Chapter 34.8.29,
-dnl # "!HoldExpensive (c), Queue for expensive mailers".)
-dnl # / Leif Erlingsson <leif@lege.com>
-define(`confCON_EXPENSIVE', `True')
-define(SMTP_MAILER_FLAGS, e)
-MAILER(local)dnl
-MAILER(smtp)dnl
-
-
-
-
-
-
-!!2.3 Menu support suggestions
-
-
-
-The 1.x versions of this document contained Menu support
-suggestions for /var/X11R6/lib/fvwm/system.fvwmrc. I have
-dropped those in the current version, but they are available on
-request:
-
-
-
-
-
-Write to ``Menu support suggestions <fvwmrc@lege.com>'',
-Subject: ``Menu support suggestions''
-
-
-
-
-
-
-----
-
-!!3. Dial-on-demand solutions PART
-
-
-Written by Jan P Tietze <jptietze@mail.hh.provi.de>.
-
-
-Many Linux users access the Internet through a dialup line, and many
-have decided to implement dial-on-demand facilities on their system.
-That is, whenever an IP packet of some sort has to leave the local
-network or the local host, the link to an Internet Service Provider
-(ISP) will automatically be established. The link will be dropped
-after some period of time that no packet has travelled across.
-
-
-Although this is very comfortable and cost effective, there is one
-special case in which this is neither comfortable (as the time to
-bring up a "traditional" modem dialup is very noticeable) nor cost
-effective, and this is sending e-mail. E-Mail is commonly sent by
-SMTP, either delivered by your own system or through a SMTP host on
-the Internet that usually resides in your ISP's network.
-
-
-With dialup lines, every time you send a message the link will have
-to be brought up. This is quite okay if you send only one message,
-but if you happen to create and send multiple messages, bringing up
-the line more than once can be tedious and cost ineffective. Also,
-if your ISP imposes limits as to what times you are allowed to
-login, this would also restrict you to postpone messages at certain
-times of the day, and you would have to manually send them later.
-
-
-Section 1 of this document will solve the situation, however in
-situations where an external DNS lookup would cause the link up, the
-link will still be established even if e-mail is just being queued.
-The reason is that sendmail wishes to "canonify" host names.
-
-
-The solution to this problem is twofold: First, we'll have to
-moderately change sendmail.cf. And then we have to define the
-process of actual mail delivery. Personally, I prefer to have cron
-do the job for me and describe the necessary changes below.
-
-
-
-
-!!3.1 Configuring sendmail.cf
-
-
-
-For the reasons stated in [[1.2], I recommend modifying the m4
-sources instead of editing sendmail.cf directly. It will actually
-save you a lot of hassle and make configuration changes more
-verbose.
-
-
-First, perform all the changes described in the first part of this
-document. Then go through the dial-on-demand specific stuff.
-
-
-
-
-!Configuring sendmail.cf directly, for trivial configurations
-
-
-Configuring directly is highly impractical and anything but verbose,
-but obviously, this is your decision.
-
-
-Close to very bottom of your sendmail.cf should be a line that
-reads:
-
-
-
-
-
-R$* < @ $* $~P > $* $: $1 < @ $[[ $2 $3 $] > $4
-
-
-
-
-Precede that line with a "#" so that it reads
-
-
-
-
-
-#R$* < @ $* $~P > $* $: $1 < @ $[[ $2 $3 $] > $4
-
-
-
-
-
-
-!Configuring sendmail.cf using the m4 source.
-
-
-Add the following line to
-/usr/src/sendmail-8.8.7/cf/cf/yourhostname.smtp.mc:
-
-
-
-
-
-FEATURE(nocanonify)dnl
-
-
-
-
-Your final sendmail.cf can then be built by issuing the following
-commands. Remember to always back up your old /etc/sendmail.cf
-before installing the new one:
-
-
-
-
-
-cp /etc/sendmail.cf /etc/sendmail.cf.bak
-cd /usr/src/sendmail-8.8.7/cf/cf
-m4 yourhostname.smtp.mc > /etc/sendmail.cf
-
-
-
-
-
-
-!!3.2 Adding dial delay
-
-
-
-It is oftentimes useful, especially when using modem lines, to have
-a dial delay installed. This means that if sendmail tries to
-initiate a connection in an attempt to send an e-mail (and this
-causes the line to go up) but the link actually takes more time to
-get established than what sendmail thinks should be a reasonable
-timeout, sendmail will simply wait some seconds and then retry.
-
-
-
-
-!Configuring sendmail.cf directly
-
-
-Somewhere in your sendmail.cf could be a line that would read:
-
-
-
-
-
-#O !DialDelay=10s
-
-
-
-
-(or very similar). Delete the ``#''. If there's no ``#'' at the
-beginning of the line, things should be considered okay (it just
-means this had already been enabled before).
-
-
-If there is no such line in your sendmail.cf, add one (it is a wise
-thing to do to add this in the "options" part of the file):
-
-
-
-
-
-O !DialDelay=10s
-
-
-
-
-Now change the ``10s'' part to the number of seconds you deem
-suitable.
-
-
-
-
-!Configuring sendmail.cf using m4 source
-
-
-Add the following line to
-/usr/src/sendmail-8.8.7/cf/cf/yourhostname.smtp.mc:
-
-
-
-
-
-define(`confDIAL_DELAY',`10s')
-
-
-
-
-Now change the ``10s'' part to the number of seconds you deem
-suitable.
-
-
-Your final sendmail.cf can then be built by issuing the following
-commands. Remember to always back up your old /etc/sendmail.cf
-before installing the new one:
-
-
-
-
-
-cp /etc/sendmail.cf /etc/sendmail.cf.bak
-cd /usr/src/sendmail-8.8.7/cf/cf
-m4 yourhostname.smtp.mc > /etc/sendmail.cf
-
-
-
-
-
-----
-
-!!4. Delivering e-mail
-
-
-E-Mail delivery can be invoked by issuing the command "sendmail -q".
-For those who are interested in what sendmail actually does,
-"sendmail -q -v" will give a more verbose version of the delivery
-process.
-
-
-It is very convenient to automate the process of e-mail delivery. A
-tool commonly used for this process is cron.
-
-
-
-
-!!4.1 How to have e-mail delivered at special times.
-
-
-
-Edit your crontab:
-
-
-
-
-
-crontab -e
-
-
-
-
-Add lines of the form:
-
-
-
-
-
-05 18-23,-7 * * Mon,Tue,Wed,Thu,Fri /usr/sbin/sendmail -q
-05 * * * Sat,Sun /usr/sbin/sendmail -q
-
-
-
-
-Please refer to the crontab man page (available through "man 5 \
-crontab") for further information. I think the format is pretty
-obvious. The example crontab entries shown above send e-mail (if,
-and only if, e-mail is available from the queue) 5 minutes after an
-hour on weekdays, starting at 6:05 pm, and stopping at 7:05 am. On
-weekends, e-mail is delivered 5 minutes after an hour, starting at
-12:05 pm on Saturday, and stopping 11:05 pm on Sunday.
-
-
-As a dial-on-demand user, it is sometimes desirable to have your
-system collect your e-mail via the POP3 protocol at certain times of
-the day. You could therefore add an entry similar to the following
-to your crontab:
-
-
-
-
-
-0 21 * * * popclient -3 -u <your pop3 user name
-goes
here> -p <put your password here> -o /var/spool/mail/<the user
-on your system that should receive the collected e-mail>
-<mailhost.somedomain.com>
-
-
-
-
-Of course, this should all go on a single line.
-
-
-Then, save the file and leave the editor. The crontab should now be
-installed.
-
-
-
-
-
-
-----
-
-!!5. License
-
-
-This document is distributed under the terms of the GNU Free Documentation License.
-You should have received a copy along with it. If not, it is available from
-http://www.fsf.org/licenses/fdl.html
.
-
-
-
-----
+Describe
[HowToMailQueue
] here.