您的位置:首页 > 其它

基于用户认证来实现不同域的邮件转发

2015-10-30 09:22 288 查看
Postfix有两种方法可以实现发送邮件到不同的域,一种是信任网段,一种是身份认证。Postfix想要认证用户,就需要使用额外的认证框架,因为Postfix提供的SMTP不具备认证的服务所以须要使用SASL(Simple Authentication Secure Layer),系统默认已经安装cyrus-sasl软件一、首先使用postfix -a可以查看postfix可以使用哪种机制认证 可以看到支持两种,其中一种就是cyrus


二、首先修改/etc/postfix/main.cf文件,设置除了127.0.0.0外拒绝给任何人中继

这样就只有身份认证通过的用户才可以发送邮件了,大概在268行


使用XP发送不是本域的邮件,发送不了,提示Relay access denied

三、开启认证,让通过认证的用户可以发送不是本域的邮件,这时候就用到了SASL服务,所以首先启动服务saslauthd

四、启动服务后,可以使用testsaslauthd来进行用户验证 a1是系统新建的帐号,123是密码,提示的是认证失败

五、修改/etc/sysconfig/saslauthd,使用shadow机制,重启服务在进行验证 在次验证就是验证通过了

六、虽然SASL已经可能让用户通过认证,但是Postfix却还没有开启SASL认证 所以需要修改配置文件,配置文件中需要设置两点 1.给postfix开启SASL认证 2.限定只有通过认证的用户才能中继邮件

可以通过postconf -d | grep smtpd可以获取上面的选项七、设置用户,要求身份验证,之后便可以发送不是本域的邮件了

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息