基于用户认证来实现不同域的邮件转发
2015-10-30 09:22
288 查看
Postfix有两种方法可以实现发送邮件到不同的域,一种是信任网段,一种是身份认证。Postfix想要认证用户,就需要使用额外的认证框架,因为Postfix提供的SMTP不具备认证的服务所以须要使用SASL(Simple Authentication Secure Layer),系统默认已经安装cyrus-sasl软件一、首先使用postfix -a可以查看postfix可以使用哪种机制认证 可以看到支持两种,其中一种就是cyrus
![](http://s3.51cto.com/wyfs02/M01/75/17/wKioL1YyxP2CuYKRAAAvg7RQ0ag305.jpg)
二、首先修改/etc/postfix/main.cf文件,设置除了127.0.0.0外拒绝给任何人中继
这样就只有身份认证通过的用户才可以发送邮件了,大概在268行
![](http://s3.51cto.com/wyfs02/M00/75/19/wKiom1YyxILyVaghAACnco7FEGU932.jpg)
使用XP发送不是本域的邮件,发送不了,提示Relay access denied
![](http://s3.51cto.com/wyfs02/M00/75/17/wKioL1YyxOKzxP1cAAHgIp3d5Kk969.jpg)
三、开启认证,让通过认证的用户可以发送不是本域的邮件,这时候就用到了SASL服务,所以首先启动服务saslauthd
![](http://s3.51cto.com/wyfs02/M02/75/19/wKiom1YyxN2CgXzoAABarps2KjA744.jpg)
四、启动服务后,可以使用testsaslauthd来进行用户验证 a1是系统新建的帐号,123是密码,提示的是认证失败
![](http://s3.51cto.com/wyfs02/M00/75/19/wKiom1YyxPngoXrHAABSQjUPkf0620.jpg)
五、修改/etc/sysconfig/saslauthd,使用shadow机制,重启服务在进行验证 在次验证就是验证通过了
![](http://s3.51cto.com/wyfs02/M00/75/17/wKioL1YyxWCCW4K1AALuvMqGjag307.jpg)
六、虽然SASL已经可能让用户通过认证,但是Postfix却还没有开启SASL认证 所以需要修改配置文件,配置文件中需要设置两点 1.给postfix开启SASL认证 2.限定只有通过认证的用户才能中继邮件
![](http://s3.51cto.com/wyfs02/M01/75/17/wKioL1Yyxd2wq4dTAACVhekQFys157.jpg)
可以通过postconf -d | grep smtpd可以获取上面的选项七、设置用户,要求身份验证,之后便可以发送不是本域的邮件了
![](http://s3.51cto.com/wyfs02/M00/75/1A/wKiom1YyxcqQNYAjAAGFnkmQ1H0628.jpg)
![](http://s3.51cto.com/wyfs02/M01/75/17/wKioL1YyxP2CuYKRAAAvg7RQ0ag305.jpg)
二、首先修改/etc/postfix/main.cf文件,设置除了127.0.0.0外拒绝给任何人中继
这样就只有身份认证通过的用户才可以发送邮件了,大概在268行
![](http://s3.51cto.com/wyfs02/M00/75/19/wKiom1YyxILyVaghAACnco7FEGU932.jpg)
使用XP发送不是本域的邮件,发送不了,提示Relay access denied
![](http://s3.51cto.com/wyfs02/M00/75/17/wKioL1YyxOKzxP1cAAHgIp3d5Kk969.jpg)
三、开启认证,让通过认证的用户可以发送不是本域的邮件,这时候就用到了SASL服务,所以首先启动服务saslauthd
![](http://s3.51cto.com/wyfs02/M02/75/19/wKiom1YyxN2CgXzoAABarps2KjA744.jpg)
四、启动服务后,可以使用testsaslauthd来进行用户验证 a1是系统新建的帐号,123是密码,提示的是认证失败
![](http://s3.51cto.com/wyfs02/M00/75/19/wKiom1YyxPngoXrHAABSQjUPkf0620.jpg)
五、修改/etc/sysconfig/saslauthd,使用shadow机制,重启服务在进行验证 在次验证就是验证通过了
![](http://s3.51cto.com/wyfs02/M00/75/17/wKioL1YyxWCCW4K1AALuvMqGjag307.jpg)
六、虽然SASL已经可能让用户通过认证,但是Postfix却还没有开启SASL认证 所以需要修改配置文件,配置文件中需要设置两点 1.给postfix开启SASL认证 2.限定只有通过认证的用户才能中继邮件
![](http://s3.51cto.com/wyfs02/M01/75/17/wKioL1Yyxd2wq4dTAACVhekQFys157.jpg)
可以通过postconf -d | grep smtpd可以获取上面的选项七、设置用户,要求身份验证,之后便可以发送不是本域的邮件了
![](http://s3.51cto.com/wyfs02/M00/75/1A/wKiom1YyxcqQNYAjAAGFnkmQ1H0628.jpg)
相关文章推荐
- 垃圾邮件过滤器 python简单实现
- C#实现按数据库邮件列表发送邮件的方法
- C#使用自带的email组件发送邮件的方法
- C#.NET采用HTML模板发送电子邮件完整实例
- php简单实现发送带附件的邮件
- C#发送内置图片html格式邮件的方法
- javascript验证邮件地址和MX记录的方法
- asp+JMAIL实现发送邮件
- C++实现邮件群发的方法
- 用ASP.NET做的个性化的邮件发送系统
- sqlserver数据库使用存储过程和dbmail实现定时发送邮件
- Jmail组件发送邮件之绝对能用的函数
- 我的群发邮件程序
- smtp邮件发送一例
- 用PHP发电子邮件
- JSP发送邮件实例
- 给多个地址发邮件的类
- python发送邮件示例(支持中文邮件标题)
- php 邮件发送问题解决
- php提交表单发送邮件的方法