王朝网络
分享
 
 
 

十分钟安装带认证的sendmail

王朝other·作者佚名  2008-05-31
宽屏版  字体: |||超大  

前言

有朋友找到我,让我帮忙配置一台邮件服务器。我的这位朋友也是适用Linux有一段时间的了,并且他还在Linux上开发了几个软件。他愁眉苦脸的跟我说,以前没配过sendmail,在网上查找了一些资料,每每看到文章开头写道:“配置sendmail是一项庞大而复杂的系统工程....”还没读完就晕倒过去。苏醒后,就来找我了,问我能不能有什么速成之类的办法,因为他根本不想研究sendmail是怎么工作的,就想搭建起来能完成工作就可以了。

我决定帮助他解决他所遇到的问题,于是在下班后翻出以前配置邮件服务器的笔记,花了10分钟左右就在他的新安装一台服务器上运行起来了一个邮件服务器(甚至比配置IIS的邮件服务器还快)。在回家的路上,我边开车边想:要是配置所有服务器都能按照一个简单的步骤完成(就想开车一样),那使用 Linux的人不就更多了吗?这里的核心就是一个比较通用的配置文件,并且他还时带SMTP认证的,既然我已经有了这个成果,为什么不和更多的初学者分享呢?也许这就是开放源码社区的精神吧。让我们开始:

按照这个步骤,只要十分钟就可以配置出一个带有SMTP认证的邮件服务器。当然了,邮件服务器需要配置DNS的MX记录和指向等这里就不讨论了。另外主机名和网络配置也要制定好。还有,基本的Linux命令你要知道一些。

[准备工作]

下面这两项工作是必须要准备好的:

1、安装RedHat7.3,缺省安装即可,但是要保证选装了sendmail

2、下载qpopper4.0.3.tar.gz,这个是pop3服务器的源码。(在网上搜索一下,很多的)

[开始计时]

1、复制qpopper4.0.3.tar.gz到/usr/local/src

2、tar zxvf qpopper4.0.3.tar.gz 释放压缩文件

3、cd qpopper4.0.3 进入子目录

4、./configure --prefix=/usr --exec-prefix=/usr --enable-standalone

5、make

6、make install 这一步可能会出错,主要是man文件的目录没有事先建立。执行:mkdir /usr/man;mkdir /usr/man/man8即可(或根据提示进行,希望你能够看得懂出错的地方)。

7、编辑:/etc/mail/sendmail.mc把下面的内容完全覆盖进去:注意下面的第13行中XXX.com改成你的域名:

divert(-1)

dnl This is the sendmail macro config file. If you make changes to this file,

dnl you need the sendmail-cf rpm installed and then have to generate a

dnl new /etc/sendmail.cf by running the following command:

dnl

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

dnl

include(`/usr/share/sendmail-cf/m4/cf.m4')

VERSIONID(`linux setup for Red Hat Linux')dnl

OSTYPE(`linux')

dnl Uncomment and edit the following line if your mail needs to be sent out

dnl through an external mail server:

dnl define(`SMART_HOST',`XXX.com')

define(`confDEF_USER_ID',``8:12'')dnl

undefine(`UUCP_RELAY')dnl

undefine(`BITNET_RELAY')dnl

define(`confAUTO_REBUILD')dnl

define(`confTO_CONNECT', `1m')dnl

define(`confTRY_NULL_MX_LIST',true)dnl

define(`confDONT_PROBE_INTERFACES',true)dnl

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

define(`ALIAS_FILE', `/etc/aliases')dnl

dnl define(`STATUS_FILE', `/etc/mail/statistics')dnl

define(`UUCP_MAILER_MAX', `2000000')dnl

define(`confUSERDB_SPEC', `/etc/mail/userdb.db')dnl

define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl

define(`confAUTH_OPTIONS', `A')dnl

TRUST_AUTH_MECH(`DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

define(`confAUTH_MECHANISMS', `DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

DAEMON_OPTIONS(`Port=25,Name=MTA')dnl

DAEMON_OPTIONS(`Port=587,Name=MSA,M=Ea')dnl

dnl define(`confTO_QUEUEWARN', `4h')dnl

dnl define(`confTO_QUEUERETURN', `5d')dnl

dnl define(`confQUEUE_LA', `12')dnl

dnl define(`confREFUSE_LA', `18')dnl

dnl FEATURE(delay_checks)dnl

FEATURE(`no_default_msa',`dnl')dnl

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

FEATURE(`mailertable',`hash -o /etc/mail/mailertable.db')dnl

FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl

FEATURE(redirect)dnl

FEATURE(always_add_domain)dnl

FEATURE(use_cw_file)dnl

FEATURE(use_ct_file)dnl

dnl The '-t' option will retry delivery if e.g. the user runs over his quota.

FEATURE(local_procmail,`',`procmail -t -Y -a $h -d $u')dnl

FEATURE(`access_db',`hash -o /etc/mail/access.db')dnl

FEATURE(`blacklist_recipients')dnl

EXPOSED_USER(`root')dnl

dnl This changes sendmail to only listen on the loopback device 127.0.0.1

dnl and not on any other network devices. Comment this out if you want

dnl to accept email over the network.

dnl DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')

dnl NOTE: binding both IPv4 and IPv6 daemon to the same port requires

dnl a kernel patch

dnl DAEMON_OPTIONS(`port=smtp,Addr=::1, Name=MTA-v6, Family=inet6')

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 have 24x7 DNS do need this.

dnl FEATURE(`accept_unresolvable_domains')dnl

dnl FEATURE(`relay_based_on_MX')dnl

dnl FEATURE(`relay_local_from')dnl

MAILER(smtp)dnl

MAILER(procmail)dnl

Cwlocalhost.localdomain

8、在/etc/mail中执行m4 sendmail.mc /etc/sendmail.cf

9、编辑/etc/mail/local-host-names增加你的域名XXX.com进去。

10、启动:/etc/init.d/sendmail restart

11、启动:/usr/sbin/popper xxx.xxx.xxx.xxx:110 (其中xxx.xxx.xxx.xxx是你的IP地址)

12、useradd -g mail ABC (增加一个用户名)

13、配置你的客户端,别忘了配置SMTP认证,试验一下用户ABC能不能使用了?

恭喜你!你已经有了一个带由SMTP认证的邮件服务器了。不过要完成更复杂的配置,就要仔细研究一下sendmail的mc命令了。你还可以考虑一下,如何让用户自行修改密码呢?答案就是用/usr/sbin/passwd命令作为用户的shell,这样,就可以让用户登陆上来修改自己的密码了。当然,现在有现成的图形界面工具:chpasswd软件是专门修改系统用户密码用的,以后我们再介绍了。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
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- 王朝网络 版权所有