Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1184965
  • 博文数量: 243
  • 博客积分: 7442
  • 博客等级: 少将
  • 技术积分: 2483
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-26 09:58
个人简介

I\'m working in IT for above 10 years, although I\'m not an expert yet, but I\'m working on it :)

文章分类

全部博文(243)

文章存档

2019年(2)

2018年(5)

2017年(3)

2016年(3)

2013年(1)

2012年(15)

2011年(8)

2010年(40)

2009年(70)

2008年(63)

2007年(43)

2006年(1)

分类:

2007-03-03 10:23:07

最一段日子工作得很不开心,原因多多,回想当年自己学linux的时候真是无限的感慨。那个时候我是多么的认真、多么的努力啊,我的努力也得到认可,可现在呢?打开过去的笔记真的,全是眼泪啊。最近很想写blog,主要是因为我已经不做linux很多年了,今天把笔记拿出来,在温习一下,并记录在blog上,慰记一下自己。
 
当年使用的系统是redhat 8 ,目的是搭建成公司的Linux邮件服务器,能够使用web方式和outlook分别收发邮件,并做身份验证。
我看过很多文章,都说通过编译源代码安装,配置sendmail.mc文件,不过我觉得这样做比较麻烦,好像容易出错,我从没有试验过,我都是直接修改 /etc/mail/sendmail.cf文件来配置sendmail的,只是在做身份验证的时候才使用sendmail.mc文件的,不过这不影响最终效果。
 
假设邮件的域名为abc.com,邮件的MX记录主机为 mail.abc.com
 
首先备份sendmail.cf文件。
使用vi 编辑sendmail.cf文件。
1.修改 Cwlocalhost localdomain一行为
   Cwlocalhost abc.com mail.abc.com
2.修改 O DaemonPortOption=Port=smtp,Addr=127.0.0.1,Name=MTA这行,将127.0.0.1 改为本机的IP或0.0.0.0都可以。
 
3.需要安装光盘上的imap文件,这个文件的用处是充当pop服务器。
4.修改access文件,这个文件记录着在没有身份验证的情况下,那些网段的用户可以使用这台邮件服务器发信。
localhost.localdomain      RELAY
localhost                  RELAY
127.0.0.1                  RELAY
abc.com                    RELAY
mail.abc.com               RELAY
10.0.0                     RELAY
这样就允许了10.0.0网段的用户通过该邮件服务器发送邮件了。
不要忘了,修改access文件后不能马上生效,要使用命令将其写入数据,如下
makemap hash /etc/mail/access.db < /etc/mail/access
 
5.在local-hosts-name 文件中加入abc.com 和mail.abc.com两行。
这样最简单的邮件系统sendmail就可以使用了。
 
6.关于身份验证部分如下,参考了CU中peng的精华帖子。
修改sendmail.mc文件。
1、2是去掉注解的,是打开相应的认证机制,主要是为了支持outlook
3、4是添加的,设置相应的mta and msa的所用端口。
5、6要注掉。
1、TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
2、define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
3、DAEMON_OPTIONS(`Port=25,Name=MTA')dnl
4、DAEMON_OPTIONS(`Port=587,Name=MSA,M=Ea')dnl
5、dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')
6、dnl FEATURE(`accept_unresolvable_domains')dnl
最后保存。
二、编译sendmail.mc 生成sendmail.cf文件
# m4 /etc/mail/sendmail.mc >; /etc/sendmail.cf
#/etc/rc.d/init.d/sendmail restart   --重起sendmail服务。
三、检测编译结果。
1、检测SASL被编译到sendmail中。
#/usr/sbin/sendmail -d0.1 -bv root |grep SASL
输出类似如下:
NETUNIX NEWDB NIS PIPELINING SASL SCANF STARTTLS TCPWRAPPERS
保证你看到SASL就是正确的。
2、检测25端口:
# telnet localhost 25
Trying 127.0.0.1.....
Connected to localhost (127.0.0.1).
Escape character is '^]'.
220 webmail.readchina.com ESMTP SENDMAIL 8.12.5/8.12.5;THU,13 FEB 2003.19:12:59 +0800
EHLO localhost  
250-webmail.readchina.com hello localhost [127.0.0.1],pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH GSSAPI LOGIN PLAIN
250-DELIVERBY
250-HELP
出现 AUTH GSSAPI LOGIN PLAIN 就说明成功了。
 
 
 
阅读(2742) | 评论(0) | 转发(0) |
0

上一篇:添加用户命令

下一篇:红烧鸡腿

给主人留下些什么吧!~~