下一页 上一页 目录

2. 非拨号按需解决方案 PART

作者:Leif Erlingsson <leif@lege.com>。

此部分的原始版本包含了很多不必要的材料。这才是真正需要的全部内容...

2.1 启动 sendmail

Slackware 等发行版:/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 等发行版:/etc/rc.d/init.d/sendmail.init

echo -n "Starting sendmail: [queue only mode]"
daemon sendmail -bd -os         # NOT daemon sendmail -bd -q1h

-os 并不是真正必要的,它所做的只是

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.

这应该已经在默认的 sendmail.cf 中配置好了。

2.2 配置 sendmail

认真的 sendmail 用户会使用 m4 源代码来完成配置。如果您计划升级 sendmail,并且对 sendmail.cf 进行任何非细微的更改,我建议使用此解决方案。

如果您从不打算修复 sendmail,即使您可能使用动态拨号 IP 或其他方式,也无需获取 m4 源代码,以使信封返回标头等功能正常工作。

直接配置 sendmail.cf,适用于简单的配置

这种方式的做法极度依赖于 sendmail.cf 版本。以下解决方案*仅*对 sendmail-8.8.x 有效。

编辑 /etc/sendmail.cf

# avoid connecting to "expensive" mailers on initial submission?
O HoldExpensive=True

... 稍后 ...

#####  @(#)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

上面重要的标志是 ``e''。如果您的文件中的其他标志看起来不同,请不要担心。保持您的标志不变,只需根据上面的示例将 ``e'' 添加到您的标志中,除非它已经在那里。``e'' 将邮件程序标记为“昂贵”。

使用 m4 源代码配置 sendmail.cf

在下面,为了简单起见,我将假设 sendmail 版本是 8.8.7。如果您有不同的版本,请将下面的 8.8.7 替换为该版本号!此外,这些说明不适用于旧版本的 sendmail。获取最新的 sendmail!

下载 sendmail 源代码。尝试 ``http://WWW.Sendmail.ORG'' 或可能是 ``ftp.sendmail.org''。

我还建议您获取我的补丁,以允许信封发件人反向别名和其他不错的功能,真正让您掌控您的邮件环境。

写信给 ``Sendmail Patch <sendmail@lege.com>'', 主题:``sendmail-8.8.7'',如果 8.8.7 是您的 sendmail 版本。

它们也可以从 ``http://www.lege.com'' 获取,迷你 HOWTO 的 sgml 源代码也是如此!

您不必为了使“队列远程邮件 + 投递本地邮件”工作而获取我的补丁。我的补丁解决了其他问题。但我只是认为这是一个提及它们的好地方,因为许多 Linux 用户会发现它们非常有用。(如果您愿意,它们甚至会为您提供正常工作的虚拟域。虚拟域不必是“本地的”。它们将为您提供“xaliases”,或者换句话说,“反向别名”。)

解压缩 sendmail 源代码。您可能会得到 /usr/src/sendmail-8.8.7/。cd /usr/src/sendmail-8.8.7/cf

现在覆盖我的补丁,如果您想要它,否则跳过此步骤:如果您不想使用 procmail 作为本地投递代理,请在执行此操作之前保存您的 /usr/src/sendmail-8.8.7/cf/ostype/linux.m4 ... 将我的补丁保存到 ``/tmp/sendmail-8.8.7-cf-cpio-idcmu.gz'',然后...

cd /usr/src/sendmail-8.8.7/cf
gzip -dc < /tmp/sendmail-8.8.7-cf-cpio-idcmu.gz | cpio -idcmu
如果您不想使用 procmail,请写回已保存的 /usr/src/sendmail-8.8.7/cf/ostype/linux.m4 副本。

并且无论您是否应用了我的补丁,您都必须确保将这些行或非常相似的行添加到 /usr/src/sendmail-8.8.7/cf/cf/yourhostname.smtp.mc 中(但是如果您应用了我的补丁,您可能需要调查 /usr/src/sendmail-8.8.7/cf 下包含单词 ``elijah'' 的文件名)

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 菜单支持建议

本文档的 1.x 版本包含 /var/X11R6/lib/fvwm/system.fvwmrc 的菜单支持建议。我在当前版本中删除了这些建议,但可以应要求提供

写信给 ``Menu support suggestions <fvwmrc@lege.com>'', 主题:``Menu support suggestions''


下一页 上一页 目录