首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
Linux资讯 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>linux基础>经验技巧>正文

教你十分钟如何安装带认证的sendmail

http://www.oklinux.cn  2006-01-01  来源: linuxeden.com  otto   会员收藏  游客收藏  【 】 

前言

有朋友找到我,让我帮忙配置一台邮件服务器。我的这位朋友也是适用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软件是专门修改系统用户密码用的,以后我们再介绍了。

()


上一篇:Debian GNU/Linux的完全安装手册详解   下一篇:在 Linux 上使用 Bugzilla 跟踪 bug


收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·在 Linux 上使用 Bugzilla 跟踪 bug
·Debian GNU/Linux的完全安装手册详解
·应用程序跟踪对性能改变进行量化分析
·主要Linux平台高可用集群软件简介下载
·Linux中系统整体性能监控工具详细介绍
·技术简介:使用Linux的8个经典技巧
·Linux创建文件及挂载系统流程详解
·如何去理解Linux中进程,线程等概念
·0款Linux系统下常用安全工具详细介绍
·Linux系统网络服务配置文件详解
·Linux系统网络服务配置文件详解(2)
·技术介绍:“SSH”让远程控制更安全
·教你在Linux环境中使用Ext3文件系统
·菜鸟必读:Linux系统的字型设定方法
·教你如何随心订制Linux的透明防火墙
·在Linux环境下如何使用 GFS文件系统
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·成功升级到红旗Linux6.0 SP1经验分享
·Ubuntu游戏之平行球的安装
·Ubuntu与Windows双系统使用时的注意事
·Ubuntu下安装矩阵实验室Matlab
·Ubuntu 7.10下wine-0.9.57的中文配置
·Linux初学指南 Ubuntu下rpm包的安装方
·Fedora 8正式版下载地址分享
·惠普笔记本6510B中安装Fedora 8成功例
·Fedora 8 下JDK 6.0 配置技巧
·Ubuntu 3D桌面特效展示!超绚目(图)
·解析Linux系统下GRUB故障修复
·Linux终端模式下查看电脑的硬件配置情
  阅读排行
·Linux爱好者入门教程
·Linux操作系统下的串口通信学习笔记
·从硬盘安装RHEL 5(Red Hat Enterprise
·Vim实用技术第一部分:实用技巧
·Vmware Workstation 5.0.0使用说明
·VM中Linux虚拟机下安装VMware Tools
·新手看招:调试工具GDB基本知识全接触
·Gentoo版Linux操作系统的前世今生
·Linux进程间通信:管道及有名管道
·如何在Linux/FreeBSD下玩模拟器游戏
·探索Linux 操作系统内存模型和管理
·Linux系统中用ALSA驱动声卡流程详解
·并不绝对安全:Linux下安全十二法则
·Linux操作系统网络驱动程序编写详解
·将Linux代码移植到Windows的简单方法
网摘收藏: