分享
 
 
 

小型企业的Sendmail邮件服务器应用实例

王朝other·作者佚名  2006-12-16
窄屏简体版  字體: |||超大  

一、 前言

本文旨在介绍如何利用Linux服务器上的sendmail构建中小型企业的邮件服务器。 我们假定该企业采用专线接入Internet,有两台Linux服务器(Redhat 6.1 ),一台作为防火墙直接接入Chinanet,是通向Internet的唯一出入口,同时该企业的域名为domain.com,由该防火墙服务器(DNS服务器)对域domain.com进行解析。另一台邮件服务器是在内部网段运行,完全与外部世界无关。作为内部局域网上用户的收/发邮件服务器。

地址:假定防火墙Linux服务器的永久外部地址为a.b.c.d(eth0),内部网卡地址192.168.11.5(eth1),机器名为firewall.domain.com, 内部的邮件服务器地址为192.168.11.1,机器名为mail.domain.com , 且注册域时填写的主机名为dns.domain.com(a.b.c.d)。

思路:先配置DNS服务器,用来解析@domain.com的域名,并指明MX记录到内部邮件主机mail.domain.com. 把这台防火墙仅作为mail relay主机,任何从外部世界发往@domain.com域的邮件均由它处理且relay到内部邮件主机,仅接受@domain.com后缀的邮件进入,这样阻止了spammer发送垃圾邮件。

在内部邮件服务器上,配置Sendmail的DS部分为firewall.domain.com,任何发往非内部员工的邮件直接送往firewall.domain.com,且设置domain.com为本地域,任何发往@domain.com域的邮件被内部别名处理并送往内部各用户的邮件缓冲池中。

旅行用户的考虑: 若公司员工出差在外需从公司的服务器接收邮件,一种方法是直接拨当地ISP,然后设置接收邮件服务器为mail.domain.com,但要求mail.domain.com在外地被解析成防火墙的外部永久地址,这样再在防火墙上设置plug-gw代理,代理任何到防火墙外部地址的110端口的请求到内部192.168.11.1的110端口。

另一种方法,也可以再建一服务器为Linux拨入服务器,直接拨到公司来接收邮件。

二、 Sendmail的各项配置及相关设置

(一)、防火墙上的Sendmail配置:

我们采用Redhat Linux 6.1 加 Sendmail 8.9.3作为操作环境:

安装操作系统和防火墙的配置略,建议采用3c905b或者Intel pro100 的网卡,先配置DNS。

设置/etc/named.conf象这样:

============

zone "."{

type hint;

file "named.ca";

};

zone "0.0.127.in-addr.arpa"{

notify no;

type master;

file "127.0.0";

};

zone "11.168.192.in-addr.arpa"{

notify no;

type master;

file "192.168.11";

};

zone "domain.com" {

notify no;

type master;

file "domain.com";

};

文件 192.168.11象下面这样:

@ IN SOA dns.domain.com. root.mail.domain.com. (

1999092201 86400 3600 3600000 86400 )

NS dns.domain.com.

1 PTR mail.domain.com.

5 PTR firewall.domain.com.

文件 domain.com象下面这样:

@ IN SOA dns.domain.com. root.mail.domain.com. (

1999120401 86400 3600 3600000 86400 )

NS dns.domain.com.

A a.b.c.d

MX 10 mail.domain.com.

firewall A a.b.c.d

mail A a.b.c.d

dns A a.b.c.d

加下面的行到/etc/hosts

192.168.11.1 mail.domain.com mail

192.168.11.5 firewall.domain.com firewall

============

下面配置Sendmail,首先要先创建一个用来生成/etc/sendmail.cf的sendmail.mc文件,在Redhat 安装的过程中有一个默认地redhat.mc在/usr/lib/sendmail-cf/cf目录下。

我们修改为如下:

===========

divert(-1)

dnl This is the macro config file used to generate the /etc/sendmail.cf

dnl file. If you modify thei file you will have to regenerate the

dnl /etc/sendmail.cf by running this macro config through the m4

dnl preprocessor:

dnl

dnl m4 /etc/sendmail.mc > /etc/sendmail.cf

dnl

dnl You will need to have the sendmail-cf package installed for this to

dnl work.

include(`../m4/cf.m4)

define(`confDEF_USER_ID,``8:12)

OSTYPE(`linux)

undefine(`UUCP_RELAY)

undefine(`BITNET_RELAY)

define(`confAUTO_REBUILD)

define(`confTO_CONNECT, `1m)

define(`confTRY_NULL_MX_LIST,true)

define(`confDONT_PROBE_INTERFACES,true)

define(`PROCMAIL_MAILER_PATH,`/usr/bin/procmail)

define(`ALIAS_FILE,`/etc/mail/aliases)

FEATURE(`smrsh,`/usr/sbin/smrsh)

FEATURE(`mailertable,`hash -o /etc/mail/mailertable)

FEATURE(`virtusertable,`hash -o /etc/mail/virtusertable)

FEATURE(`domaintable,`hash -o /etc/mail/domaintable)

FEATURE(redirect)

FEATURE(always_add_domain)

FEATURE(use_cw_file)

FEATURE(local_procmail)

MAILER(procmail)

MAILER(smtp)

FEATURE(`access_db)

FEATURE(`blacklist_recipients)

dnl We strongly recommend to comment this one out if you want to protect

dnl yourself from spam. However, the laptop and users on computers that do

dnl not hav 24x7 DNS do need this.

dnl FEATURE(`accept_unresolvable_domains)

dnl FEATURE(`relay_based_on_MX)

=============

然后用m4 redhat.mc > sendmail.cf生成sendmail.cf放到/etc目录下。且做如下操作:

1. 更改/etc/sendmail.cf中Fw定义为Fw/etc/mail/sendmail.cw ,并创建一个空文件sendmail.cw (#touch /etc/mail/sendmail.cw)

2. 更改/etc/mail/mailertable象下面这样:

domain.com relay:[192.168.11.1]

并运行makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable

3. 加下面一行到/etc/mail/access象下面这样:

domain.com relay

并运行makemap hash /etc/mail/access.db < /etc/mail/access

注:你不需要设置/etc/mail/relay-domains,因为你仅仅接受送往@domain.com域的邮件,通过access就可做到这一点,在收到@domain.com后缀的邮件后立即转送到内部主机192.168.11.1

4. 加下面一行到/etc/mail/relay-domains (如无,用vi创建一个)

192.168.11.1

注:仅允许内部网段上的邮件主机mail.domain.com(192.168.11.1)向它发信邮件,不允许内部网段上的用户设置SMTP服务器为firewall.domain.com(192.168.11.5)

||||||二)、内部邮件主机mail.domain.com的配置:

仍然用下面生成的sendmail.cf文件,并做如下设置更改。

1. /etc/hosts

192.168.11.5 firewall.domain.com firewall

192.168.11.1 mail.domain.com mail

2. /etc/resolv.conf

search domain.com

nameserver 192.168.11.5

3. 加下面的行到/etc/mail/relay-domains(如无此文件,则用vi创建一个)

192.168.11

注:允许内部网段上的用户向它发信,且允许防火墙机器向它转送从外面进来的邮件。

4. 加下面的行到/etc/mail/sendmail.cw

domain.com

注:当收到一个从内部网段上发到@domain.com的邮件时被认为是本地主机/域,然后检查/etc/mail/aliases 文件查找别名

5. 设置别名文件/etc/mail/aliases

假设本地网段上有三个用户,邮件帐号分别为jephe,jack,tony.

则设置别名文件如下:

jephe: jephe@mail.domain.com

jack: jack@mail.domain.com

tony: tony@mail.domain.com

注:这样的话,你能在局域网上维护一个共同的地址薄供内部用户每个人采用. 地址薄中就可以用jephe@domain.com,jack@domain.com, tony@domain.com。 对外公开的地址也是它们。

6. 设置/etc/sendmail.cf中的DS部分为DSfirewall.domain.com

注:所有非@domain.com域的邮件都转送至防火墙处理,根据DNS MX查找后直接送到各个地方。

7. 设置/etc/sendmail.cf中的DM部分为 DMdomain.com

其他功能:

8. 设置/etc/mail/access文件阻止从某些域/地址发来的垃圾邮件。

9. 设置/etc/mail/domaintable进行某些域转换。如果你的公司域名容易被打错,如某用户常容易错把jephe@domain.com打成jephe@doman.com, 则你可以把doman.com放入domaintable中你可以放下面的行到/etc/mail/domaintable,同样,运行makemap hash /etc/mail/domaintable.db < /etc/mail/domaintable

-----

doman.com domain.com

-----

你也可以放doman.com到/etc/mail/sendmail.cw中实现同样的目的这样不管是发到jephe@domain.com或是jephe@doman.com都一样。

(三)、windows 客户配置

在局域网上的windows客户机都设置发送/接收邮件服务器为mail.domain.com,DNS服务器为192.168.11.5并使用一个共同的由网管维护的地址薄,其中含有公司内所有用户的邮件地址。你可以在内部的邮件服务器上设置DHCP服务器自动配置每台windows客户机的设置。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有