64位linux操作系统
目的:配置mail.nclass.org邮件服务器,邮件地址:name@nclass.org,并且客户端实现收发
参考网站:http://blog.chinaunix.net/u/12442/showart_1928452.html
http://hi.baidu.com/gengjie/blog/item/2c6a8f94d87e221fd31b7077.html
http://dreamfire.blog.51cto.com/418026/167192
http://hi.baidu.com/xu520zl/blog/item/8dc90527337e8f05908f9deb.html
http://docs.google.com/View?id=dddcg23g_0fm9jwmch
http://www.sudu.cn/info/article/articleInfo.php?aId=297570
一、sendmail安装配置
安装软件:
sendmail-8.13.8-2.el5.x86_64.rpm
sendmail-cf-8.13.8-2.el5. x86_64.rpm
sendmail-devel-8.13.8-2.el5. x86_64.rpm
sendmail-doc-8.13.8-2.el5. x86_64.rpm
查看sendmail运行状态:
#service sendmail status
此时可看到sendmail正在运行,#netstat –tnl查看25端口开启
其他软件安装:
cyrus-sasl-ntlm-2.1.19-5.EL4
cyrus-sasl-2.1.19-5.EL4
cyrus-sasl-gssapi-2.1.19-5.EL4
cyrus-sasl-plain-2.1.19-5.EL4
cyrus-sasl-md5-2.1.19-5.EL4
cyrus-sasl-devel-2.1.19-5.EL4
cyrus-sasl-sql-2.1.19-5.EL4
配置:
sendmail.cf的配置语法比较难懂,一般资料上都是采用m4宏处理程序来生成所需的sendmail.cf文件(使用m4编译工具一般 不容易出错,还可避免某些带有安全漏洞的宏对服务器造成的破坏)。
其配置文件位于/etc/mail/sendmail.cf,在创建的过程中还需要一个 模板文件,Linux自带有一个模板文件,位于/etc/mail/sendmail.mc。故可以直接通过修改sendmail.mc模板来达到定制 sendmail.cf文件的目的,而不必去死啃哪些难理解的配置命令。配置步骤为:
第1步:修改/etc/mail/sendmail.mc配置文件
找到下而两行:
dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
#刪掉上面兩行前面的 dnl,“TRUST_AUTH_METH”作用是使sendmail不管access文件中如何设置,都能relay那些通过EXTERNAL,LOGIN,PLAIN,CRAM-MD5或DIGEST-MD5等方式验证的邮件。“confAUTH_MECHANISMS”作用是确定系统的认证方式,outlook支持的认证方式是LOGIN。注意:TRUST_AUTH_METH、define 前面不要留有空格
dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
#前面加上 dnl, 把這行註解起來(dnl = do not load),以便让sendmail可以侦听所有网络设备,为整个网络服务,而不仅仅是对本机提供服务。
#或改成下面這樣也可以
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl
#修改端口,找到下面这行
dnlDAEMON_OPTIONS(`Port=submission,Name=MSA,M=Ea'')dnl
去掉行首的注释符,并且将内容修改成Port=25:
修改后,如下:
DAEMON_OPTIONS(`Port=25,Name=MSA'')dnl
运行M4程序,重新生成sendmail.cf文件:
用模板文件sendmail.mc生成sendmail.cf配置文件,并导出到/etc/mail/目录下,使用命令行:m4 /etc/mail/sendmail.mc >/etc/mail/sendmail.cf
第2步:修改/etc/mail/local-host-names
加入nclass.org,将希望该邮件服务器使用的邮箱名加进去,比如邮箱为:xxx@nclass.org则将nclass.org加入到该文件中。
第3步:修改access文件,加入:
mail.nclass.org RELAY
nclass.org RELAY
生成库文件
# makemap –v hash /etc/mail/access.db < /etc/mail/access
第3步:重启sendmail
# killall –HUP sendmail
#service sendmail restart
第4步:可以通过telnet 本机IP 25来验证sendmail服务是否已经正常启动,若登陆成功,则说明sendmail服务已经成功启动。
# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'
220 localhost.localdomain ESMTP Sendmail 8.12.8/8.12.8; Wed, 12 May 2004 15:57:01 +0800
ehlo localhost
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-AUTH GSSAPI LOGIN PLAIN
250-DELIVERBY
250-HELP
输入 auth login
输入用户名,这个用户名需要用base64编码。事先做好准备。
生成base64格式的用户名和密码过程如下:
# echo –en ‘username’ | openssl base64
# echo –en ‘password’ | openssl base64
然后将产生的用户名和密码输入
会输出 authtification success。
二、dovecot安装配置
SendMail只能实现SMTP协议的功能,而且只能发送不能收取,目前在使用邮件系统时很多用户还是习惯使用类似foxmail的一些邮件客户端软件,这些软件通常都支持pop3、IMAP4等协议。如果希望在RHEL中实现pop3、IMAP4需要使用dovecot。
安装包:dovecot-1.0-1.2.rc15.el5.x86_64.rpm,系统盘里有。安装关联包:
mysql-5.0.22-2.1.x86_64.rpm
postgresql-libs-8.1.4-1.1.x86_64.rpm
perl-DBI-1.52-1.fc6.x86_64.rpm
dovecot配置:/etc/dovecot.conf
将#protocols = imap imap3 pop3 pop3S改为protocols = imap imap3 pop3 pop3S
注:缺省ports分别是
Imap:143 imaps:993 pop3:110 pop3s:995
启动dovecot:service dovecot start
chkconfig dovecot on ;设置自动运行
注:web端能够收发,但foxmail不能发送,提示“535 5.7.0 authentication failed”。启动SASL。#service saslauthd start即可。这个问题是困扰我时间最长的问题,一直在sendmail相关配置上找原因,原来是没有启动该服务。
三、openwebmail的安装配置,配置web端
安装:openwebmail-2.51-20050627.i386.rpm
安装此软件之前需要安装关联文件:
perl-suidperl-5.8.8-10.x86_64.rpm
perl-Compress-Zlib-1.42-1.fc6.x86_64.rpm
perl-Text-Iconv-1.7-1.el5. rf.x86_64.rpm
配置:
1. 浏览器http://localhost/cgi-bin/openwebmail/openwebmail.pl提示需要初始化openwebmail-tool.pl
初始化命令:#/var/www/cgi-bin/openwebmail/openwebmail-tool.pl –init
输出结果:
Please change './etc/dbm.conf' from
dbm_ext .db
dbmopen_ext none
dbmopen_haslock no
to
dbm_ext .db
dbmopen_ext .db
dbmopen_haslock no
And execute './openwebmail-tool.pl --init' again!
ps: If you are running openwebmail in persistent mode,
don't forget to 'touch openwebmail*.pl', so speedycgi
will reload all scripts, modules and conf files in --init.
意为:将var/www/cgi-bin/openwebmail/etc/defaults/dbm.conf配置文件中dbmopen_ext none 改为 .db然后再初始化。
2.初始化过程如果报“couldn’t connect SMTP server 127.0.0.1:25! At /var/www/cgi-bin/openwebmail/openwebmail-tool.pl ine 1472,<STDIN>line 1.
此时查看25端口关闭,则将/etc/mail/sendmail.mc中的端口改为8025,然后再m4即可。再重新初始化。
3. 浏览器重新http://localhost/cgi-bin/openwebmail/openwebmail.pl即可看到登录窗口。
4. /var/www/cgi-bin/openwebmail/etc/openwebmail.conf配置:
default_language zh_CN.GB2312 将预设语言改为简体中文。
default_iconset Cool 3D.Chinese.Simplified 将原有的English改为Chinese.Simplified,才能显示中文图标。
domainnames nclass.org 更改为自己定义的域名,jll@nclass.org,如果设为mail.nclass.org的话,则邮件地址默认是jll@mail.nclass.org
5.新建邮箱用户
#useradd lily
#passwd lily