[root@mail /root]# rpm –qa |grep sendmail
sendmail-8110-8
2. 卸载sendmail:
[root@mail /root]# rpm -e sendmail –nodeps
3. 用以下命令杀死运行中的sendmail进程:
[root@mail /root]# killall sendmail
如果系统提示:
sendmail: no process killed
则说明当前系统中没有sendmail进程。
4. 安装postfix:
[root@mail /root]# rpm -ivh postfix-20010228release-2i386rpm
若已经安装,则此步可以省略。(注:安装时最好用rpm包,会自动创建postfix用户和postfix组)
5. 安装imap
rpm –ivh /mnt/cdrom/RedHat/RPMS/ imap-47c2-12rpm
imap使pop3有效,即打开110端口。(注:安装时最好用rpm包)
若已经安装,则此步可以省略。
6. 检查系统中是否安装了cyrus-sasl
执行以下命令查看系统中是否安装了cyrus-sasl:
rpm –qa |grep cyurs
如果您看到以下提示,则说明已经安装了cyrus-sasl
[root@test bye2000]# rpm -qa |grep sasl
cyrus-sasl-devel-1524-17
cyrus-sasl-1524-17
否则,请用rpm –ivh 命令先安装所需sasl-cyrus包。
7.修改postfix用户
同时应该让该用户不能登录到系统,也即不为该用户指定可执行的登录外壳程序和可用
的用户宿主目录。
编辑/etc/passwd文件中的相关条目如下所示:
postfix:x:89:89::/no/where:/no/shell [编辑后,只修改蓝色部分就可以了]
即:修改用户的Home directory和Shell 参照 /etc/passwd文件
8.编辑postfix的主要配置文件/etc/postfix/maincf,根据需求只需修改以下几个参数:
1)mydomain
指明你的域名,在这里我们指定:
mydomain = xxcom
2)myorigin
myorigin参数指明发件人所在的域名。如果你的用户的邮件地址为user@domaincom,则该参数指定@后面的域名。在这里我们指定:
myorigin = $mydomain
3)inet_interfaces
inet_interfaces = all 监听所有端口
4)mydestination
mydestination参数指定postfix接收邮件时收件人的域名,换句话说,也就是你的postfix
系统要接收什么样的邮件。通常与myorigin一样:
mydestination = $mydomain
5)mynetworks_style
设置网络类型,我们指定:
mynetworks_style = subnet
6)ynetworks
定义可以使用的此smtp服务器发信的客户ip地址,因为公司的ip范围已知,所以我们
指定:
mynetworks = 19216810/24
注:此项可根据情况而定,主要是指定ip范围,假如公司的ip划分是按照网段来的,例如:101010~101019,101030~101039等等更细。根据需要,该项可以不设置。
7)SMTP的配置
为了告诉postfix采用sasl来进行SMTP的用户认证,我们必须在/etc/postfix/maincf文件的最后添加以下几行:
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_sasl_authenticated
permit_auth_destination reject
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous
说明如下:
smtpd_sasl_auth_enable:告诉SMTP客户,该SMTP服务器需要进行用户认证。
smtpd_recipient_restrictions = permit_sasl_authenticated
permit_auth_destination reject
仅仅中继通过SMTP认证的客户端邮件,以及接收本postfix为最后一站的邮件。
broken_sasl_auth_clients = yes
有一些Microsoft 的SMTP客户端,比如Outlook Express 4X采用的是非标准的SMTP认证协议,将该选项设置为yes可以解决这类不兼容问题。
smtpd_sasl_security_options = noanonymous
控制本地SMTP认证所采用的机制,这里是允许任何非匿名认证方法。
9.配置SASL
进入/usr/lib/sasl/目录,用touch新建这样一个文件:
[root@test sasl]# touch smtpdconf
在该文件中加入以下内容:
[root@test sasl]# more smtpdconf
pwcheck_method:pam
也就是指定通过PAM来进行用户认证。
10.配置PAM
进入/etc/pamd/目录,用touch新建这样一个文件:
[root@test pamd]# touch smtp
在该文件中加入如下内容:
[root@test pamd]# more smtp
#%PAM-10
auth required /lib/security/pam_stackso service=system-auth
account required /lib/security/pam_stackso service=system-auth
也即和/etc/pamd/pop文件的内容是一致的。
11.修改/etc/shadow文件权限
因为PAM最终要去读取/etc/shadow文件的内容来进行用户认证,但是/etc/shadow文件
权限是设置为只有root用户可以读写,而我们的postfix是运行在postfix用户权限之下,所以我们要合理的设置/etc/shadow文件权限,以便让pam可以读取其内容。
执行以下命令,让root组也可以读取shadow:
[root@test /etc]# chmod 640 /etc/shadow
然后再将postfix用户加入root组,采用以下命令:
[root@test /etc]# usermod -G root postfix
12.编辑postfix的主要配置文件/etc/postfix/mastercf
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
smtp inet n - n - - smtpd
这里开始
#smtps inet n - n - - smtpd
# -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
#submission inet n - n - - smtpd
# -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes
这里结束
#628 inet n - n - - qmqpd
把我标的注释部分去掉即可。
13.配置pop3
RedHat70已经使用xinetd代替了以前的inetd,为了使pop3服务启动,我们编辑
/etc/xinetdd/ipop3文件,将其中的disable = yes改为disable = no 以便启动pop3
服务。
为了使改动生效,执行以下命令:
/etc/rcd/initd/xinetd reload
14.启动postfix
执行以下命令启动postfix:
/etc/rcd/initd/postfix start
这样,一个支持SMTP认证的postfix邮件服务器就配好了。你说的找不到目录里的文件内容/usr/lib/sasl2/smtpdconf,是因为你没有安装cyrus-sasl 。
有没有安装软件,你可以透过rpm -qa |grep sasl来查看。
如果你正常安装这个软件应该可以看到这个信息
cyrus-sasl-lib-2122-8
cyrus-sasl-plain-2122-8
cyrus-sasl-2122-8
cyrus-sasl-devel-2122-8
如没有,安装后,既可以找到你要的那个文件。
安装完postfix,可以使用mail指令来测试。
# mail test@yourdomaincom 给test这个邮箱寄邮件
Subject: hello 输入邮件主题
mail test! 邮件内容
邮件内容结束,输入“”
Cc: 转寄给XXX,可直接回车
然后,使用下面指令来查看mail
ls -l /var/spool/mail
可以使用U-Mail邮件服务器
步骤如下:
1、下载U-Mail邮件系统 for CentOS(6X) 一体盘
请去>
6、设置IP地址、子网掩码、网关和DNS等参数(请根据自己的网络环境设置这些参数),如下图。按“OK”按钮。
7、点击“Yes,discard any data”按钮进行初始化磁盘(如磁盘中有重要数据,请先备份再 *** 作),如下图:
8、设置root密码,点击“下一步”
9、设置分区,这里我们选择自动分区(用户可以自定义分区,一般建1个boot分区,1个swap分区和1个根分区),点击“下一步”,如下图:
10、直接点击“下一步”,如下图:
11、直接点击“下一步”:
12、选择默认的GRUB引导装载程序,并点击“下一步”,如下图:
13、开始安装系统
14、出现安装完成界面,点击“重新引导”重启服务器
15、重启好后,输入root帐号和密码登录系统,如下图:
(1) yum -y install sendmail(2)域名设置:
1、在DNS服务器中要添加MX记录
@IN MX 5 mailtestcom
2、设置local-host-names文件,添加邮件服务器提供服务的域名
vi /etc/mail/local-host-names
testcom
3、开启Sendmail服务器的网络接口 vi /etc/mail/sendmailmc
DAEMON_OPTIONS('Port=smtp,Addr=127001,Name=MTA')dn1 将127001改为0000
使服务器能够为主机的所有网络接口(0000)提供服务(3)配置Senmail的SMTP认证配置
vi /etc/mail/sendmailmc
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去掉 //在sendmail文件中,dnl表示该行为注释行,是无效的,因此通过去除行首的dnl字符串可以开启相应的设置行.(4)访问控制的配置access,在CentOS5中默认了Sendmail服务器所在的主机的用户可以任意发送邮件,而不需要任何身份验证
即注意/etc/mail/access文件中有一行: 127001 RELAY RELAY是中继、驿马的意思,其实也蛮形象的。
makemap hash accessdb<access //生成access数据库文件(5)使用m4命令生成sendmailcf文件,其实sendmailmc即是一模板文件
m4 sendmailmc > sendmailcf如果出现:sendmailmc:10: m4: cannot open `/usr/share/sendmail-cf/m4/cfm4': No such file or directory说明需要安装sendmail-cfyum install sendmail-cf# vi /etc/aliases(别名设置记录)
name: addr_1,addr_2,addr_3(邮件群发)testgroup: user1,user2,user3#newaliases 重新生成alisesdb文件启动Sendmail,saslauthd服务,验证Sendmail服务
telnet localhost 25 //输入ehlo localhost 此时应该有LOGIN PLAIN的字样,即表示SMTP认证设置成功。
chkconfig --level 35 saslauthd on
service saslauthd start
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)