首发:http://www.chuiniudi.cn/archives/66 基本 配置 需要修改的 配置 文件: /etc/mail/sendmail.mc /etc/mail/local-host-names /etc/mail/access 打开sendmail.mc,搜索”127.0.0.1″,找到如下代码; daemon_options (`port=smtp,addr=127.0.0.1,name=mta’
首发:http://www.chuiniudi.cn/archives/66
基本配置需要修改的配置文件:
/etc/mail/sendmail.mc
/etc/mail/local-host-names
/etc/mail/access
打开sendmail.mc,搜索”127.0.0.1″,找到如下代码;
daemon_options (`port=smtp,addr=127.0.0.1,name=mta’)
修改为:
daemon_options (`port=smtp,addr=0.0.0.0,name=mta’)
监听所有ip地址
搜索”md5″,找到如下代码:
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”,后面的dnl保留.
在shell下执行命令:m4 sendmail.mc > sendmail.cf
在local-host-names 中添加邮件服务所使用的域名,比如有账户zbwz@chuiniudi.cn,这里面就填test.com,一个域名占一行,域名最后不用加”.”,域名要解析要sendmail服务器的ip.
最后就是access文件,这个文件只有跨服务器发送邮件时才会用到.
比如我现在的sendmail服务器s1的ip为”192.168.1.2″,另外一台sendmail服务器s2的ip为”192.168.2.2″,要用s1上的一个邮箱帐号向s2服务器上的邮箱帐号发送邮件.在s2上就需要修改access文件了,在access文件中添加如下内容:
192.168.1.2 relay
中继来自192.168.1.2的邮件.
保存一下,然后在shell中执行命令:
makemap hash access.db最终sendmail程序要用到的还是access.db文件,所以这里要把access文件转换为access.db文件.
access文件中其他的一些选项:
192.168.1 rejack(拒绝)
192.168.1.2 ok(绝对允许,完全信任该ip)
这里的ip可以使一个ip地址,也可以是一个网段.
两台sendmail服务器之间发送邮件需要注意的一些问题:
两台sendmail服务器的主机名不可为localhost.localdomain(默认的主机名).
需要修改配置文件:/etc/sysconfig/network.或者直接在”网络”里修改,修改后重启网卡,打开/etc/hosts.里面的内容为不能包含新的主机名.
telnet到sendmail服务器的25端口,这里的主机名不为localhost.localdomain时,两台sendmail就可以互发邮件了.
dns服务器里一定要做好相应的a记录和mx记录.
以服务器s1为例:域名为chuiniudi.cn
在dns服务器中建立如下记录:
@ in a 192.168.1.2
mail in a 192.168.1.2
@ in mx 10 mail
群发功能的实现:
实现向team1发送邮件 people[1-3]都能收到
打开/etc/aliases文件.添加如下内容:
team1: people1,people2,people3
team2: people4,people5,people6
这里的team[1-2],people[1-6]都是真实用户.需要用useradd命令创建
新建sendmail用户时,如果不希望该用户登陆到系统,可以使用如下命令添加用户:
useradd 用户名 -s /sbin/nologin
照这样配置好后,sendmail服务器就可以进行最基本的收发邮件工作了
http://zserver.blog.51cto.com/370152/156419