Postfix 配置并设置账户认证(Postfix+Sasl)

Postfix 配置并设置账户认证(Postfix+Sasl)

记录一下,比较简单的使用

我是图


安装Postfix

系统一般都自带了Postfix,如果不清楚可以使用下面的指令检查
rpm -qa | grep postfix
如果没用安装Postfix则使用以下指令安装
yum -y install postfix

##安装sasldb、saslauthd
用来提供smtp的虚拟账户和密码服务 sasldb2包含在saslauthd当中
使用指令 yum -y install cyrus-sasl cyrus-sasl-lib cyrus-sasl-plain cyrus-sasl-devel 安装

##Postfix配置并启用smtp
Postfix配置文件在/etc/postfix目录下,主要修改的配置文件为:/etc/postfix/main.cf
使用指令 vi /etc/postfix/main.cf 进行编辑或者使用Xftp等工具本地编辑

###主要修改

#设置Postfix主机名,修改成你的域名 此项需要添加A记录并指向postfix所在主机公网IP
myhostname = mail.applesa.cn
#设置域名
mydomain = applesa.cn
#本机postfix的邮箱域名后缀 此项默认值使用myhostname
#此处使用了前项mydomain 也就是说本机postfix邮箱后缀为:@applesa.cn
myorigin = $mydomain

#指定Postfix系统监听的网络接口 此处必须是localhost或127.0.0.1或内网IP
#若此项被注释或填入公网IP Postfix服务器的端口都会将对公网开放
#默认值为all 即监听所有网络接口
inet_interfaces = all
#网络协议 这里ipv4即可,也可以为all,则支持ipv4,ipv6
inet_protocols = ipv4

SMTP配置,默认配置内没有,需要手动添加到配置文件内(位置随意)

#指定可以向postfix发起SMTP连接的客户端的主机名或ip地址
smtpd_client_restrictions = permit_sasl_authenticated

#此处permit_sasl_authenticated意思是允许通过了sasl认证的所有用户
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, 

#指定postfix使用sasl验证 通俗的将就是启用smtp并要求进行账号、密码校验
smtpd_sasl_auth_enable = yes

#取消smtp的匿名登录 此项默认值为noanonymous 此项请务必指定为noanonymous
smtpd_sasl_security_options = noanonymous

使用 postconf 指令即可查看你的所有Postfix配置

##使用sasldb2建立SMTP用户和密码
建立使用smtp服务的账号,就类似你的邮箱账号(root@applesa.cn)

###编辑sasl2配置
位置 32位 /usr/lib/sasl2/smtpd.conf 64位的在 /etc/sasl2/smtpd.conf

#编辑通过sasl启用smtp账号密码效验的配置
vi /etc/sasl2/smtpd.conf #vi写入或编辑内容如下:
#####
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: plain login CRAM-MD5 DIGEST-MD5
#####

###创建SMTP账号
使用指令

saslpasswd2 -c -u `postconf -h mydomain` test

或者

saslpasswd2 -c -u applesa.cn test

上面的 postconf -h mydomain 是指从postfix的配置里获取账户的后缀(@之后)
下面的即为制定了@后的后缀
最后的test即为创建的账号头部 最后的账号为(test@applesa.cn)
回车后输入两次密码即可创建账号

使用 sasldblistusers2 指令即可查看所有的用户
会列出类似下列的列表

admin@xxx.com: userPassword
test@xxx.com: userPassword
no-reply@xxx.com: userPassword

userPassword 即为使用密码登录,每次添加SMTP用户之后需重启Postfix

###可选操作

#没有问题的话会返回着色[ok]字样
#启动postfix
systemctl restart postfix 

#更改sasldb2数据的权限,让postfix可以读取
chmod 755 /etc/sasldb2

####参考: http://blog.jjonline.cn/linux/185.html