-------启动命令

systemctl start dovecot

service courier-authlib restart

systemctl status courier-authlib

systemctl enable courier-authlib

systemctl start saslauthd

systemctl enable saslauthd

-------postfix-------配置

一、  装备工作

setenforce 0

systemctl stop firewalld

iptables -P INPUT ACCEPT

iptables -F

iptables -X

iptables -L

二、安装mysql5.7 epel源

yum install -y wget

wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

rpm -ivh mysql-community-release-el7-5.noarch.rpm

wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

rpm -ivh epel-release-latest-7.noarch.rpm

三、安装postfix

1、卸载系统自带的postfix,删除postfix用户,重新指定uid、gid创建新用户postfix,postdrop

yum remove postfix -y

userdel postfix

groupdel postdrop

groupadd -g 2525 postfix

useradd -g postfix -u 2525 -s /sbin/nologin -M postfix

groupadd -g 2526 postdrop

useradd -g postdrop -u 2526 -s /sbin/nologin -M postdrop

2、下载源码包并解压编译

wget http://mirrors.go-parts.com/postfix/source/official/postfix-3.0.1.tar.gz

tar xf postfix-3.0.1.tar.gz

cd postfix-3.0.1

make makefiles 'CCARGS=-DHAS_MYSQL -I/usr/include/mysql -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl -DUSE_TLS ' 'AUXLIBS=-L/usr/lib64/mysql -lmysqlclient -lz -lrt -lm -L/usr/lib64/sasl2 -lsasl2   -lssl -lcrypto'

make && make install

3、更改目录属主属组

chown -R postfix:postdrop /var/spool/postfix

chown -R postfix:postdrop /var/lib/postfix/

chown root /var/spool/postfix

chown -R root /var/spool/postfix/pid

4、修改postfix的配置文件

[root@localhost ~]# vim /etc/postfix/main.cf

myhostname = mail.everyoo.com        //设置主机名

mydomain = everyoo.com        //指定域名

myorigin = $mydomain        //指明发件人所在的域名

inet_interfaces =         //all指定postfix系统监听的网络接口

mydestination = $myhostname, localhost.$mydomain, localhost,$mydomain        //指定postfix接收邮件时收件人的域名 [使用虚拟域需要禁用]

mynetworks_style = host        //指定信任网段类型

mynetworks = 192.168.1.0/24, 127.0.0.0/8        //指定信任的客户端

relay_domains = $mydestination        //指定允许中转邮件的域名

alias_maps = hash:/etc/aliases        //设置邮件的别名

四、安装dovecot

yum install -y  dovecot dovecot-mysql

cd /etc/dovecot/

vim dovecot.conf

protocols = imap pop3

!include conf.d/*.conf

listen = *

base_dir = /var/run/dovecot/

cd conf.d/

vim 10-auth.conf

disable_plaintext_auth = no

vim 10-mail.conf

mail_location = maildir:~/Maildir

mail_location = maildir:/var/mailbox/%d/%n/Maildir

mail_privileged_group = mail

vim 10-ssl.conf

ssl = no

vim 10-logging.conf og_path = /var/log/dovecot.log

info_log_path = /var/log/dovecot.info

log_timestamp = "%Y-%m-%d %H:%M:%S "

cp auth-sql.conf.ext auth-sql.conf

vim auth-sql.conf

passdb {  driver = sql  args = /etc/dovecot/dovecot-sql.conf.ext}# Path for SQL configuration file, see example-config/dovecot-sql.conf.ext

userdb {  driver = sql  args = /etc/dovecot/dovecot-sql.conf.ext}

五、安装courier-authlib

wget https://sourceforge.net/projects/courier/files/courier-unicode/1.2/courier-unicode-1.2.tar.bz2

tar xf courier-unicode-1.2.tar.bz2

cd courier-unicode-1.2

./configure

make && make install

wget https://sourceforge.net/projects/courier/files/authlib/0.66.2/courier-authlib-0.66.2.tar.bz2

tar xf courier-authlib-0.66.2.tar.bz2

cd courier-authlib-0.66.2

./configure \

--prefix=/usr/local/courier-authlib \

--sysconfdir=/etc \

--without-authpam \

--without-authshadow \

--without-authvchkpw \

--without-authpgsql \

--with-authmysql \

--with-mysql-libs=/usr/lib64/mysql \

--with-mysql-includes=/usr/include/mysql \

--with-redhat \

--with-authmysqlrc=/etc/authmysqlrc \

--with-authdaemonrc=/etc/authdaemonrc \

--with-mailuser=postfix

make && make install

2、配置courier-authlib

chmod 755 /usr/local/courier-authlib/var/spool/authdaemon

cp /etc/authdaemonrc.dist  /etc/authdaemonrc

cp /etc/authmysqlrc.dist  /etc/authmysqlrc

vim /etc/authdaemonrc

authmodulelist="authmysql"

authmodulelistorig="authmysql"

vim /etc/authmysqlrc

MYSQL_SERVER            localhost

MYSQL_USERNAME          extmail

MYSQL_PASSWORD          extmail

MYSQL_SOCKET            /var/lib/mysql/mysql.sock

MYSQL_PORT               3306

MYSQL_DATABASE          extmail

MYSQL_USER_TABLE        mailbox

MYSQL_CRYPT_PWFIELD     password

DEFAULT_DOMAIN          test.com

MYSQL_UID_FIELD         '2525'

MYSQL_GID_FIELD         '2525'

MYSQL_LOGIN_FIELD       username

MYSQL_HOME_FIELD        concat('/var/mailbox/',homedir)

MYSQL_NAME_FIELD        name

MYSQL_MAILDIR_FIELD     concat('/var/mailbox/',maildir)

3、courier-authlib添加服务启动脚本及其他

cp courier-authlib.sysvinit /etc/init.d/courier-authlib

chmod +x /etc/init.d/courier-authlib

chkconfig --add courier-authlib

chkconfig courier-authlib on

echo "/usr/local/courier-authlib/lib/courier-authlib" >> /etc/ld.so.conf.d/courier-authlib.conf

ldconfig

service courier-authlib start

4、smtp以及虚拟用户相关的设置

vim /usr/lib64/sasl2/smtpd.conf        //文件不存在,要自己创建

pwcheck_method: authdaemond

log_level: 3

mech_list: PLAIN LOGIN

authdaemond_path:/usr/local/courier-authlib/var/spool/authdaemon/socket

vim /etc/postfix/main.cf

##postfix支持SMTP##

smtpd_sasl_auth_enable = yes

smtpd_sasl_local_domain = ''

smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination

broken_sasl_auth_clients=yes

smtpd_client_restrictions = permit_sasl_authenticated

smtpd_sasl_security_options = noanonymous

##postfix支持虚拟用户##

virtual_mailbox_base = /var/mailbox

virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf   //这里的配置文件需在后面extman

里复制过来

virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf

virtual_alias_domains =

virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf

virtual_uid_maps = static:2525

virtual_gid_maps = static:2525

virtual_transport = virtual

六、安装extmail

extmail和extman可通过这两个链接下载

http://7xivyw.com1.z0.glb.clouddn.com/extmail-1.2.tar.gz

http://7xivyw.com1.z0.glb.clouddn.com/extman-1.1.tar.gz

mkdir -p /var/www/extsuite

tar xf extmail-1.2.tar.gz -C /var/www/extsuite/

mv /var/www/extsuite/extmail-1.2/ /var/www/extsuite/extmail

2、更改extmail的配置文件

cd /var/www/extsuite/extmail

cp webmail.cf.default webmail.cf

vim webmail.cf

SYS_SESS_DIR = /tmp/extmail

SYS_UPLOAD_TMPDIR = /tmp/extmail/upload

SYS_USER_LANG = zh_CN

SYS_MIN_PASS_LEN = 8

SYS_MAILDIR_BASE = /var/mailbox

SYS_MYSQL_USER = extmail

SYS_MYSQL_PASS = extmail

SYS_MYSQL_DB = extmail

SYS_MYSQL_HOST = localhost

SYS_MYSQL_SOCKET = /var/lib/mysql/mysql.sock

SYS_MYSQL_TABLE = mailbox

SYS_MYSQL_ATTR_USERNAME = username

SYS_MYSQL_ATTR_DOMAIN = domain

SYS_MYSQL_ATTR_PASSWD = password

SYS_AUTHLIB_SOCKET = /usr/local/courier-authlib/var/spool/authdaemon/socket

3、建立临时文件目录与session目录

mkdir -p /tmp/extmail/upload

chown -R postfix.postfix /tmp/extmail/

七、安装extman

tar xf extman-1.1.tar.gz -C /var/www/extsuite/

cd /var/www/extsuite/

mv extman-1.1/ extman

2、更改extman配置文件

cd extman/

cp webman.cf.default webman.cf

3、更改cgi目录属主属组

chown -R postfix.postfix /var/www/extsuite/extman/cgi/

chown -R postfix.postfix /var/www/extsuite/extmail/cgi/

4、导入数据库

vim docs/extmail.sql

:% s/TYPE/ENGINE/g

vim /etc/my.cnf

# Recommended in standard MySQL setup

#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES   //将这行注视掉,重启mysql,这里需要注意的是,等数据库导入成功后,这项是不可以去掉注释的,不然mysql就启动不起来了。

mysql -uroot < docs/extmail.sql

mysql -uroot < docs/init.sql

5、创建数据库用户extmail并授予权限

GRANT ALL ON extmail.* to extmail@'%' identified by 'extmail';

FLUSH PRIVILEGES;

6、复制四-4提到的配置文件

cd /var/www/extsuite/extman/docs/

cp mysql_virtual_* /etc/postfix/

mkdir /tmp/extman

chown -R postfix.postfix /tmp/extman/

7、启动postfix、dovecot、saslauthd

ss -tnluo | grep :25

ps aux | grep dovecot

ps aux | grep saslauthd

八、测试

/usr/local/courier-authlib/sbin/authtest -s login postmaster@extmail.org extmail

mkdir /var/mailbox

chown -R postfix.postfix /var/mailbox/

vim /etc/nginx/fcgi.conf

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;

fastcgi_param  SERVER_SOFTWARE    nginx;

fastcgi_param  QUERY_STRING       $query_string;

fastcgi_param  REQUEST_METHOD     $request_method;

fastcgi_param  CONTENT_TYPE       $content_type;

fastcgi_param  CONTENT_LENGTH     $content_length;

fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;

fastcgi_param  REQUEST_URI        $request_uri;

fastcgi_param  DOCUMENT_ROOT      $document_root;

fastcgi_param  SERVER_PROTOCOL    $server_protocol;

fastcgi_param  REMOTE_ADDR        $remote_addr;

fastcgi_param  REMOTE_PORT        $remote_port;

fastcgi_param  SERVER_ADDR        $server_addr;

fastcgi_param  SERVER_PORT        $server_port;

fastcgi_param  SERVER_NAME        $server_name;

wget http://www.cpan.org/authors/id/M/MH/MHARNISCH/Unix-Syslog-1.1.tar.gz

tar xf Unix-Syslog-1.1.tar.gz

cd Unix-Syslog-1.1

perl Makefile.PL

make && make install

安装证书到postfix,并配置postfix

vi /etc/postfix/main.cf

smtpd_use_tls = yes

smtpd_tls_key_file = /etc/postfix/mailkey.pem

smtpd_tls_cert_file = /etc/postfix/mail_signed_cert.pem

smtpd_tls_CAfile = /etc/postfix/cacert.pem

smtp_use_tls = yes

smtp_tls_note_starttls_offer = yes

smtp_tls_key_file = /etc/postfix/mailkey.pem

smtp_tls_cert_file = /etc/postfix/mail_signed_cert.pem

smtp_tls_CAfile = /etc/postfix/cacert.pem

service postfix restart

打开465(smtps)端口,则需要进行进行如下操作

修改/etc/postfix/master.cf文件

在smtp inet n - n - - smtpd行下,加入如下一行:

smtps inet n - n - - smtpd -o smtpd_tls_wrappermode=yes

vi /etc/dovecot/conf.d/10-ssl.conf

ssl = yes

ssl_cert =

ssl_key =

linux postfix 搭建,Linux搭建postfix邮件服务器相关推荐

  1. Linux安全应用之防垃圾邮件服务器的构建

    Linux安全应用之防垃圾邮件服务器的构建 一 .垃圾邮件产生的原因 垃圾邮件 (SPAM) 也称作UCE(Unsoticited Commercial Email.未经许可的商业电子邮件)或UBE( ...

  2. 邮件服务器如何搭建?企业邮箱邮件服务器搭建只需几步即可

    企业邮箱作为公司的办公工具,其邮件服务器的搭建,决定了邮件收发的稳定性和安全性,今天就给大家分享下企业邮箱邮件服务器搭建的方法,既可以节省成本也能提高邮箱性能. 一个顶级域名: 什么是企业邮箱,企业邮 ...

  3. 成功恢复新网LINUX REISERFS 6块盘 RAID5邮件服务器

    [摘要]     新网([url]http://www.xinnet.com[/url]),企业邮件服务器,存储于146G×6 RAID5中,有上百万企业用户的邮件,数据区,只分一个区,文件系统为RE ...

  4. 【验】Postfix+Dovecot+MySQL搭建邮件服务器

    网上有很多使用Postfix搭建邮件服务器的文章,但目前貌似没有看到较为完整的一篇.本例将尝试在Ubuntu系统中使用Postfix+Dovecot+MySQL搭建邮件服务器. 说到邮件服务器,网上有 ...

  5. 什么是Postfix,以及在Linux环境中如何搭建

    1.邮件系统的组成 2.邮件服务器的类型 在Linux平台中,有许多邮件服务器可供选择,但目前使用较多的是Sendmail服务器. Postfix服务器和Qmail服务器 Sendmail是一个很优秀 ...

  6. CentOS7.4中Postfix邮件服务器的搭建(一)-----环境配置及简单搭建

    CentOS7.4中Postfix邮件服务器的搭建(一)-----环境配置及简单搭建 实验内容: 1. 初始环境的优化 2. DNS服务器的搭建和postfix域名解析 3. Postfix服务器安装 ...

  7. linux系统搭建局域网邮件,Linux局域网邮件服务器搭建

    随着企业信息化的普及,国内大部分企事业单位都有属于自己的局域网邮件服务器,如何在Linux局域网内搭建邮件服务器,实现邮件的收发.我们就给大家介绍一下怎样用U-Mail邮件服务器软件来搭建局域网邮件服 ...

  8. 鸟哥的Linux私房菜(服务器)- 第二十二章、邮件服务器: Postfix

    第二十二章.邮件服务器: Postfix 最近更新日期:2011/08/10 在这个邮件服务器的架设中,我们首先谈论 Mail 与 DNS 的重要相关性,然后依序介绍 Mail Server 的相关名 ...

  9. DNS与服务器搭建-Linux每日一练(10)

    今天的文章有点长,因为DNS三两句话说不完,容我慢慢道来. DNS(Domain Name System)域名系统,也就是把某个网址解析成 ip 的服务,对于私有云的方案,有可能会自建 DNS 服务器 ...

  10. 第二十二章、邮件服务器: Postfix

    在这个邮件服务器的架设中,我们首先谈论 Mail 与 DNS 的重要相关性,然后依序介绍 Mail Server 的相关名词,以及 Mail Server 的运作基本流程与协议,也会谈到相关的 Rel ...

最新文章

  1. Docker 不香吗,为啥还要 K8s?
  2. R语言rpartb包树回归模型构建:基于前列腺prostate数据集
  3. office2016word 每次打开都有进度条问题 解决方式
  4. linux+shell+整数计算器,Shell(())实现对整数进行数学运算
  5. [C#程序]汉字转拼音缩写的函数
  6. vue.directive自定义指令 vue.set使用示例
  7. P3806-【模板】点分治1
  8. 和quicklook相似的软件_细数软件推荐上万热度出现比例较高的10款软件,看看谁出现最多...
  9. oracle数据库插入多表,在Oracle数据库中插入嵌套表
  10. 真正的云主机到底是什么样的?转发
  11. 定时任务时间表达式规则
  12. dos攻击防范 java_php DOS攻击实现代码(附如何防范)
  13. Java Seckill Project
  14. 保研面试问题(英文)
  15. 华为笔试c语言,华为笔试算法题汇总
  16. 随笔2022.12.6
  17. c语言大作业之自动寄存柜,关于自动寄存柜的问题求解
  18. 怎么做拼多多活动|成都百择
  19. 缓冲区溢出攻击指什么?如何防御?
  20. 内部矩阵维度必须一致simulink_手把手教你将矩阵画成张量网络图

热门文章

  1. idea同时修改相同单词
  2. java中类和对象的个人理解
  3. 蓝莓温室智能灌溉系统功能
  4. 彪角中学2021年高考成绩查询入口,凤翔县彪角中学网站网址
  5. Android Studio—单击定位打开
  6. ios12最后一个正式版_ios12正式版哪里下载
  7. C语言怎么编译对称图形,汇编程序设计显示对称图形.doc
  8. win10家庭版怎么在一间办公室实现打印机共享
  9. 50行的python游戏代码_50行Python代码写一个语言检测器
  10. ios 自动缩小字体_iOS 字体自适应屏幕大小