29.5.1. | 为什么必须在我的站点的主机上使用 FQDN? |
您可能会发现主机实际上是在另外一个域里面,
例如,如果您是在
传统上,这在 BSD BIND resolvers 中是可行的。
然而目前随 FreeBSD 附带的 BIND
已不为同一域外提供缩写服务。所以,这个不完整的主机名
这跟以前的处理是不同的,以前版本将会继续寻找
如果您想要一个好的工作环境,您可以使用如下行: search foo.bar.edu bar.edu 替换先前旧的版本: domain foo.bar.edu
把这行放在您的 | |
29.5.2. | sendmail 提示信息 mail loops back to myself |
下面是 sendmail FAQ 中的回答: 我得到了如下的信息:553 MX list for domain.net points back to relay.domain.net554 <user@domain.net>... Local configuration error我如何解决这个问题?您已经通过 MX 记录指定把发送给特定的域 (例如,domain.net)的邮件被转寄到指定的主机 (在这个例子中,relay.domain.net),而这台机器并不认为它自己是 domain.net。请把 domain.net 添加到/etc/mail/local-host-names 文件中 [在 8.10 版之前是 /etc/sendmail.cw](如果您使用 FEATURE(use_cw_file) 的话) 或者在 /etc/mail/sendmail.cf中添加“Cw domain.net”。 sendmail 的 FAQ 可以在
| |
29.5.3. | |
您想要把局域网上的 FreeBSD 主机连接到互连网上,而这台 FreeBSD 主机将会成为这个局域网的邮件网关, 这个拨号连接不必一直保持在连接状态。 最少有两种方法可以满足您的要求。一种方法就是使用 UUCP。 另一种方法是找到一个专职的服务器来为您的域提供副 MX 主机服务。
例如,如果您公司的域名是
example.com. MX 10 example.com. MX 20 example.net. 只有一台主机被指定当做您的最终收信主机
(在 当 您也许想要使用下面的这个登录脚本: #!/bin/sh# Put me in /usr/local/bin/pppmyisp( sleep 60 ; /usr/sbin/sendmail -q ) &/usr/sbin/ppp -direct pppmyisp 如果您想要为一个用户建立一个分开登录的脚本,
您可以使用 更深入的方法可以参考下面这段: 这段信息是从 FreeBSD Internet 服务提供商的邮件列表 拿来的。 > 我们为用户提供副 MX 主机服务。用户每天都会上线好几次> 并且自动把信件取回主 MX 主机> (当有他们的邮件时我们并没有通知他们)。> 我们的 mailqueue 程序每 30 分钟清一次邮件队列。那段时间他们> 就必须上线 30 分钟以确保他们的信件送达他们的主 MX 主机。>> 有任何指令可以用 sendmail 寄出所有邮件么?> 普通用户在我们的机器上当然没有 root 权限。在 sendmail.cf 的“privacy flags”部分,有这样的设定Opgoaway,restrictqrun移除 restrictqrun 可以让非 root 用户启动队列处理的程序。您可能也要重新安排您的 MX 设定。我们是用户的 MX 主机,而且我们还设定了这个:# If we are the best MX for a host, try directly instead of generating # local config error.OwTrue这样的话远程机器会直接把信送给您,而不会尝试连接您的用户的机器。然后您就可以把邮件发送到您的用户。这个设定只对“主机”有效,所以您必须要让您的用户在 DNS 中把他们的邮件主机设置为“customer.com”或者“hostname.customer.com”。只要为“customer.com”在 DNS里添加一个 A 记录就可以了。 | |
29.5.4. | 为什么当我发送邮件到其它主机总是有 Relaying Denied 出错信息? |
默认的 FreeBSD 安装中, sendmail 会配置为只发送来自它所在主机上的邮件。 例如,如果有可用的 POP 服务器,则用户将可以从学校、 公司或其他什么别的地方检查邮件,但他们仍然无法从远程直接发送邮件。 通常,在几次尝试之后, MAILER-DAEMON 将发出一封包含 5.7 Relaying Denied 错误信息的邮件。 有很多方法可以避免这种现象。
最直截了当的方法是把您的 ISP 的地址放到
# echo "your.isp.example.com" > /etc/mail/relay-domains 建立或编辑这个文件以后您必须重新启动 sendmail。 如果您是一个管理员并且不希望在本地发送邮件, 或者想要在其它的机器甚至其它的 ISP 上使用一个客户端系统, 这个方法是很方便的。如果您仅有一到两个邮件帐户它也非常的有用。 如果有大量的地址需要添加, 您可以很简单的使用您喜欢的文本编辑器打开这个文件添加域名, 每行一个: your.isp.example.comother.isp.example.netusers-isp.example.orgwww.example.org 现在邮件可以通过您的系统传送, 这个列表中存在的主机 (前提是用户在您的系统上已经有一个帐户) 将可以成功的发送。这是一个允许正常的远程用户从您的系统发送邮件, 并且阻止其它非法用户通过您系统发送垃圾邮件的好方法。 |
本文档和其它文档可从这里下载: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
如果对于FreeBSD有问题,请先阅读
文档,如不能解决再联系
<questions@FreeBSD.org>.
关于本文档的问题请发信联系
<doc@FreeBSD.org>.