由于论坛问的sendmail问题有很多重复的,所以写了这个帖子。希望大家查找方便。
由于本人技术、精力有限,对sendmail也没有作过太深入的研究。只是以前经常使用,对配置熟一些,希望能在这里起到抛砖引玉的作用。
其实free的版本的sendmail没什么太多的工具,所有的工具都要自己开发,不好讨论了。这里我们我们主要讨论两方面MTA和webmail,webmail方面我认为最适合的是openwebmail了。
其他方面东西,希望斑竹老大能给给予整理。
首先,建议要配置sendmail的朋友,最好看看着几篇文章。
sendmail的配置文章,带sasl认证的,心余写的:
http://www.chinaunix.net/forum/viewtopic.php?t=47662
我以前写的,关于sendmail+openwebmail的文章,其中openwebmail。1。65可能有点老了,但可以参考:
http://www.chinaunix.net/bbsjh/1/3395.html
关于openwebmail对最新版本的文章,这个是必须要看的!:
http://openwebmail.org/openwebmail/doc/readme.txt
以上推荐的文章,我都亲自配置过多次,均获得成功。
下面FAQ的具体内容,我会不停的整理和更新,也希望大家共同维护。
第一部分:MTA配置:
前言
sendmail作为一个优秀的MTA,一直是UNXI系统中缺省的邮件服务器。在UNIX中,应用程序是和配置文件分开的放置的。就 sendmail而言,sendmail的程序是一般放在/usr/sbin目录下(不同的版本UNIX版本路径可能有所不同),而配置文件是放在 /etc或者/etc/mail中(不同的版本UNIX版本路径可能有所不同),在sendmail v8.9以后,sendmail增加了一个宏编译文件/sendmail.mc,通过在宏编译文件中加一些选项,再经过编译就可以得到一个sendmail.cf的配置文件,极大的方便了用户。
1、怎样编译生成sendmail.cf文件?
a:redhat7.0的版本,
# m4 /usr/share/sendmail-cf/cf/redhat.mc > /etc/sendmail.cf
redhat7.2以上:
# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
如果提示没有发现命令,是没有安装sendmail-cf-*文件包。
redhat光盘中有rpm包,可以直接安装。其他版本,download相应的软件包安装。
2、sendmail如何做能支持POP3?
a:sendmail本身不支持pop3服务,你要安装相应的ipop3服务软件。
这里以redhat8为例,找到安装光盘中的imap*.rpm文件。
# rpm -ivh imap*.rpm
# vi /etc/xinetd.d/ipop3
更改 disable=yes 为 no
# /etc/rc.d/init.d/xinetd restart
3、如何饶过firewall的屏蔽。
vi /etc/mail/sendmail.mc
Feature ('accept_unresolvable_domains')
添上这一句,就可以传递那些域名不能从你的邮件服务器所在主机解析的邮件。当邮件在防火墙里面时,必须使用这个特性。否则有些邮件不可到达。使用这个特性后,sendmail就不会直接去试图解析那些邮件地址,而是把邮件转发到上一级邮件服务器,让其去转发,就可以饶过防火墙屏蔽。
4、sendmail使用的用户账号是系统的 ,这些用户的login shell定义的是no shell(email only),如何让用户自己修改密码?是不是要改用其他的操作系统和软件才能实现啊?
多谢指点!!!
a:不用啊,可以自己编写一个shell,给mail user用。
例如:
1、更改密码
2、删除信件。
3、退出。
具体你要自己编写。
也可以编写一个web方式的,来更改密码。
实在不行,在装一个webmail,通过她来更改密码。例如:openwebmail。
当然,可以从中分离出更改密码的页面。
5、本机上可以telnet ip address 25和110端口,但是客户端不行,提示连接失败,为什么?
xingplayer:
a:看看防火墙是不是打开了,关闭掉或者设置打开25或者110端口。
或者是这个原因, sendmail.cf文件中有一个选项:
O DaemonPortOptions
edit /etc/sendmail.cf
找到:
# SMTP daemon options
O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA
添加:
# SMTP daemon options
O DaemonPortOptions=Port=smtp,Addr=你的IP, Name=MTA
保存!
这样就能够解决问题
6、如何建立一个mail 的dns记录:
mail IN A 192.168.2.11 --你的mail主机地址。
@ IN MX 10 mail ---建立你的mx记录,邮件等级为10。
7、请教高手,我想知道在Linux下怎样查看和删除当前邮件队列?
a:查看:
#mailq |more ---看到的是超过正常时间限制的信件
#ls /var/spool/mqueue --队列中所有的信件。
删除:
# rm -rf /var/spool/mqueue/*
8、公司内部使用的是Exchange邮件系统。现在希望使用一台linux server来作对外的mail relay.以减轻E2k的负担。应该怎样作?
我现在用sendmail作对外的relay是没有问题了。但是对于收信,我不清楚怎样配置。
我不明白,一台server怎樣同時制定不同的規則,因為外發/內送的規則是截然不同的.因为:
OUtbound: ?碓