环境:Centos 6.4


关闭防火墙和selinux

[[email protected] ~]# postconf mail_version
mail_version = 2.6.6
[[email protected] ~]#
[[email protected] ~]# yum -y install postfix dovecot cyrus* openssl openssl-devel
[[email protected] ~]# sed -i '/host\.domain\.tld/imyhostname \= mail\.com' /etc/postfix/main.cf
[[email protected] ~]# sed -i '/^#mydomain \=/imydomain \= mail\.com' /etc/postfix/main.cf
[[email protected] ~]# sed -i '/myorigin \= \$mydomain/s/^#//g' /etc/postfix/main.cf
[[email protected] ~]# sed -i '/inet_interfaces \= all/s/^#//g' /etc/postfix/main.cf
[[email protected] ~]# grep 'inet_protocols = all' /etc/postfix/main.cf
inet_protocols = all
[[email protected] ~]# sed -i '/inet\_interfaces \= localhost/s/inet\_interfaces/#inet\_interfaces/g' /etc/postfix/main.cf
[[email protected] ~]# sed -i '/^mydestination/s/localhost/localhost\, \$mydomain/g' /etc/postfix/main.cf
[[email protected] ~]# sed -i '/127\.0\.0\.0/imynetworks \= 0\.0\.0\.0\/0' /etc/postfix/main.cf
[[email protected] ~]# sed -i '/^#mynetworks_style = subnet/s/^#//g' /etc/postfix/main.cf
[[email protected] ~]# sed -i '/^#relay_domains/irelay_domains \= \$mydomain' /etc/postfix/main.cf

让其支持smtps

生成证书:

[[email protected] ~]# cd /etc/pki/tls/certs/
[[email protected] certs]# make postfix.pem
[[email protected] ~]# echo '#smtpd-tls' >> /etc/postfix/main.cf
[[email protected] ~]# echo 'smtpd_tls_cert_file = /etc/pki/tls/certs/postfix.pem' >> /etc/postfix/main.cf
[[email protected] ~]# echo 'smtpd_tls_key_file = /etc/pki/tls/certs/postfix.pem' >> /etc/postfix/main.cf 
[[email protected] ~]# echo 'smtpd_use_tls = yes' >> /etc/postfix/main.cf
[[email protected] ~]# echo 'tls_random_source = dev:/dev/urandom' >> /etc/postfix/main.cf
[[email protected] ~]# echo 'tls_daemon_random_source = dev:/dev/urandom' >> /etc/postfix/main.cf
[[email protected] ~]# echo 'message_size_limit = 10240000' >> /etc/postfix/main.cf    //限制邮件大小
[[email protected] ~]# sed -i '/smtps/s/^#//g' /etc/postfix/master.cf
[[email protected] ~]# sed -i '/smtpd\_tls\_wrappermode/s/^#//g' /etc/postfix/master.cf
[[email protected] ~]# sed -i "19s/^#//g" /etc/postfix/master.cf
[[email protected] ~]# echo -e 'group:\tyfshare,bob' >> /etc/aliases
[[email protected] ~]# newaliases
[[email protected] ~]# /etc/init.d/postfix restart
[[email protected] ~]# chkconfig postfix on
[[email protected] ~]# telnet localhost 25
Trying ::1...
Connected to localhost.
Escape character is '^]'.
220 mail.com ESMTP Postfix
···

配置DOVECOT:

[[email protected] ~]# sed -i '/protocols/s/^#//g' /etc/dovecot/dovecot.conf
[[email protected] ~]# sed -i '/login_trusted_networks/s/^#//g' /etc/dovecot/dovecot.conf
[[email protected] ~]# sed -i '/login_trusted_networks/s/\=/\= 0\.0\.0\.0\/0/g' /etc/dovecot/dovecot.conf 
[[email protected] ~]# sed -i '/INBOX\=\/var\/mail/s/^#//g' /etc/dovecot/conf.d/10-mail.conf
[[email protected] ~]# sed -i '/INBOX\=\/var\/mail/s/^[ \t]*//g' /etc/dovecot/conf.d/10-mail.conf
[[email protected] ~]# sed -i '/#ssl = yes/s/^#//g' /etc/dovecot/conf.d/10-ssl.conf
[[email protected] ~]# /etc/init.d/dovecot restart
[[email protected] ~]# chkconfig dovecot on
[[email protected] ~]# netstat -tunlp|grep 110
tcp        0      0 0.0.0.0:110                 0.0.0.0:*                   LISTEN      6272/dovecot         
tcp        0      0 :::110                      :::*                        LISTEN      6272/dovecot         
[[email protected] ~]# netstat -tunlp|grep 995
tcp        0      0 0.0.0.0:995                 0.0.0.0:*                   LISTEN      6272/dovecot         
tcp        0      0 :::995                      :::*                        LISTEN      6272/dovecot         
[[email protected] ~]# netstat -tunlp|grep 25
tcp        0      0 0.0.0.0:25                  0.0.0.0:*                   LISTEN      6519/master         
tcp        0      0 :::25                       :::*                        LISTEN      6519/master         
[[email protected] ~]# netstat -tunlp|grep 465
tcp        0      0 0.0.0.0:465                 0.0.0.0:*                   LISTEN      6519/master         
tcp        0      0 :::465                      :::*                        LISTEN      6519/master         
[[email protected] ~]# netstat -tunlp|grep 143
tcp        0      0 0.0.0.0:143                 0.0.0.0:*                   LISTEN      6272/dovecot         
tcp        0      0 :::143                      :::*                        LISTEN      6272/dovecot         
[[email protected] ~]# netstat -tunlp|grep 993
tcp        0      0 0.0.0.0:993                 0.0.0.0:*                   LISTEN      6272/dovecot         
tcp        0      0 :::993                      :::*                        LISTEN      6272/dovecot         
[[email protected] ~]#
[[email protected] ~]# tail -n 5 /etc/skel/.bashrc |head -n 3
if [ ! -d ~/mail/.imap/INBOX ];then
        mkdir -p ~/mail/.imap/INBOX
fi
[[email protected] ~]#

Postfix+dovecot+saslauth

[[email protected] ~]# useradd yfshare
[[email protected] ~]# useradd bob
[[email protected] ~]# useradd tom
[[email protected] ~]# echo '123456' |passwd yfshare --stdin
[[email protected] ~]# echo '123456' |passwd bob --stdin
[[email protected] ~]# echo '123456' |passwd tom --stdin
[[email protected] ~]# mkdir -p /home/yfshare/mail/.imap/INBOX && chown yfshare:yfshare /home/yfshare/mail -R
[[email protected] ~]# mkdir -p /home/bob/mail/.imap/INBOX && chown bob:bob /home/bob/mail -R
[[email protected] ~]# mkdir -p /home/tom/mail/.imap/INBOX && chown tom:tom /home/tom/mail -R

配置saslauth:

[[email protected] ~]# sed -i '/MECH\=/s/pam/shadow/' /etc/sysconfig/saslauthd
[[email protected] ~]# /etc/init.d/saslauthd restart
[[email protected] ~]# chkconfig saslauthd on
[[email protected] ~]# saslauthd -v
saslauthd 2.1.23
authentication mechanisms: getpwent kerberos5 pam rimap shadow ldap
[[email protected] ~]# testsaslauthd -u yfshare -p 123456
0: OK "Success."
[[email protected] ~]# testsaslauthd -u bob -p 123456
0: OK "Success."
[[email protected] ~]# testsaslauthd -u tom -p 123456
0: OK "Success."
[[email protected] ~]#

注:selinux会影响testsaslauthd使用shadow认证,如果不想关闭selinux,执行:

[[email protected] ~]# setsebool -P allow_saslauthd_read_shadow 1

pop3

110

pop3s

995

smtp

25

smtps

465

imap

143

imaps

993


Postfix当bob用户给yfshare发送邮件并抄送给group,且yfshare在group里,这时yfshare用户会收到两封一模一样的邮件,这是Postfix的BUG

Postfix+dovecot+saslauthSSL加密发送邮件:(IMAPS+SMTPS)

Postfix+dovecot+saslauthSSL加密发送邮件:(POP3S+SMTPS)

Postfix+dovecot+saslauth

[[email protected] ~]# ll /home/yfshare/mail/.imap/INBOX/
total 20
-rw-rw----. 1 yfshare mail 16384 Sep 18 17:34 dovecot.index.cache
-rw-rw----. 1 yfshare mail  1668 Sep 18 17:34 dovecot.index.log
[[email protected] ~]# ll /var/mail/
total 16
-rw-rw----. 1 bob     mail 7071 Sep 18 17:34 bob
-rw-rw----. 1 tom     mail    0 Sep 18 17:10 tom
-rw-rw----. 1 yfshare mail 6955 Sep 18 17:34 yfshare
[[email protected] ~]#

Postfix+dovecot+saslauth

Postfix+dovecot+saslauth


Sendmail+dovecot+saslauth+rainloop

转载于:https://blog.51cto.com/yfshare/1696596

相关文章:

  • 2021-10-14
  • 2021-10-25
  • 2021-08-23
  • 2021-11-02
  • 2021-12-01
  • 2021-06-21
  • 2022-01-03
  • 2021-08-16
猜你喜欢
  • 2021-10-11
  • 2021-07-17
  • 2021-12-19
  • 2022-12-23
  • 2021-09-16
  • 2021-08-09
  • 2021-08-08
相关资源
相似解决方案