postfix的cyrus sasl认证和dovecot sasl认证及postfix的TLS加密

postfix 认证:

postconf -a  查看smtp server支持的认证
cyrus
dovecot
postconf -A  查看smtp  client 支持的认证
cyrus

cyrus sasl认证:
安装软件包
yum install cyrus-sasl cyrus-sasl-lib cyrus-sasl-plain cyrus-sasl-md5 cyrus-sasl-sql
vi /etc/sasl2/smtpd.conf
less /usr/share/doc/postfix-../REDAME_FILES/SASL_README或TLS——README(加密的)#README文件中有详细介绍
pwcheck_method: auxprop  使用外部认证
auxprop_plugin: sql    使用sql
mech_list: PLAIN LOGIN  明文认证
sql_engine: mysql       认证从mysql中查询
sql_hostnames: 127.0.0.1   mysql server在本地
sql_user: extmail          登录mysql的用户
sql_passwd: extmail        登录mysql的密码
sql_database: extmail      查询extmail数据库
sql_select: SELECT password FROM mailbox WHERE username = '%u@%r' 查询

postconf --e smtpd_sasl_auth_enable=yes
postconf --e smtpd_sasl_authenticated_header=yes
postconf --e broken_sasl_auth_clients=yes
postconf --e smtpd_sasl_type=cyrus
postconf --e smtpd_sasl_path=smtpd
postconf --e “smtpd_recipient_restrictions=permit_sasl_authenticated,
permit_mynetworks, reject_unauth_destination”

测试:
perl -MIME::Base64 -e 'print encode_base64("/0wxh/@extmail.org/0wxh");' #wxh@extmail是用户名,wxh是密码。此时会生成一行字符串
telnet localhost 25
ehlo localhost   和postfix 打个招呼,ehlo 后面接任意字符
auth plain  上面生成的字符串  #因为是明文密码,所以是plain

dovecot sasl认证:
cd /etc/dovecot/conf.d
vi 10-master.conf
service auth {
unix_listener /var/spool/postfix/private/auth {
mode = 0600
user = postfix
group = postfix
}
}
service dovecot restart

测试:
perl -MIME::Base64 -e 'print encode_base64("/0wxh/@extmail.org/0wxh");' #wxh@extmail是用户名,wxh是密码。此时会生成一行字符串
telnet localhost 25
ehlo localhost
auth plain  上面生成的字符串

postconf --e smtpd_sasl_auth_enable=yes
postconf --e smtpd_sasl_authenticated_header=yes
postconf --e broken_sasl_auth_clients=yes
postconf --e smtpd_sasl_type=dovecot
postconf --e smtpd_sasl_path=private/auth
postconf --e “smtpd_recipient_restrictions=permit_sasl_authenticated,
permit_mynetworks, reject_unauth_destination”
postfix reload

postfix TLS加密:

cd /etc/pki/tls/certs
make- mail.pem
postconf --e smtpd_tls_CApath=/etc/pki/tls/certs
postconf --e smtpd_tls_cert_file=/etc/pki/tls/certs/mail.pem
postconf --e smtpd_tls_received_header=yes
postconf --e smtpd_tls_security_level=may
postconf --e smtpd_tls_session_cache_database=btree:/var/lib/postfix/smtpd_scache
postfix reload

测试:
打开thunderbird,可以设置,对发信进行加密,然后发信,是否成功发送。