Linux系统下邮件服务器的搭建(Postfix+Dovecot+SSL)

这篇具有很好参考价值的文章主要介绍了Linux系统下邮件服务器的搭建(Postfix+Dovecot+SSL)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

系统环境为 centos7.2 x64 mini

1.首先安装编译环境包

yum install nginx vim gcc gcc-c++ openssl openssl-devel db4-devel ntpdate mysql mysql-devel mysql-server bzip2 php-mysql cyrus-sasl-md5 perl-GD perl-DBD-MySQL perl-GD perl-CPAN perl-CGI perl-CGI-Session cyrus-sasl-lib cyrus-sasl-plain cyrus-sasl cyrus-sasl-devel libtool-ltdl-devel telnet mail libicu-devel  -y

 2.开始编译安装postfix

    a.创建相关用户

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

    b.编译安装

cd /usr/local/src/
wget https://mirror.nju.edu.cn/macports/distfiles/postfix/postfix-3.3.1.tar.gz
tar -zxvf postfix-3.3.1.tar.gz
cd postfix-3.3.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

    在make install环节的时候会有个交互式的界面,可以自定义一些目录,根据自己的需求填写,本人这里只更改了第二项临时文件目录,其他的都选择了默认目录:

    

    c. 更改授权

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

3. 配置 postfix

vi /etc/postfix/main.cf

myhostname = mail.bt.dvcloud.xin
mydomain = mail.bt.dvcloud.xin

myorigin = $mydomain

inet_interfaces = all
# 推荐ipv4,如果支持ipv6,则可以为all
inet_protocols = ipv4

mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

#mynetworks = 127.0.0.0/8, 10.0.0.0/24

home_mailbox = Maildir/

smtpd_banner = $myhostname ESMTP

# 添加到最后
# 规定邮件最大尺寸为10M
message_size_limit = 10485760
# 规定收件箱最大容量为1G
mailbox_size_limit = 1073741824
# SMTP认证
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject

然后需要在/etc/init.d/目录下提供一个脚本来管理postfix的启动与停止

vim /etc/init.d/postfix
#!/bin/bash
#
# postfix      Postfix Mail Transfer Agent
#
# chkconfig: 2345 80 30
# description: Postfix is a Mail Transport Agent, which is the program \
#              that moves mail from one machine to another.
# processname: master
# pidfile: /var/spool/postfix/pid/master.pid
# config: /etc/postfix/main.cf
# config: /etc/postfix/master.cf

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ $NETWORKING = "no" ] && exit 3

[ -x /usr/sbin/postfix ] || exit 4
[ -d /etc/postfix ] || exit 5
[ -d /var/spool/postfix ] || exit 6

RETVAL=0
prog="postfix"

start() {
     # Start daemons.
     echo -n $"Starting postfix: "
        /usr/bin/newaliases >/dev/null 2>&1
     /usr/sbin/postfix start 2>/dev/null 1>&2 && success || failure $"$prog start"
     RETVAL=$?
     [ $RETVAL -eq 0 ] && touch /var/lock/subsys/postfix
        echo
     return $RETVAL
}

stop() {
  # Stop daemons.
     echo -n $"Shutting down postfix: "
     /usr/sbin/postfix stop 2>/dev/null 1>&2 && success || failure $"$prog stop"
     RETVAL=$?
     [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/postfix
     echo
     return $RETVAL
}

reload() {
     echo -n $"Reloading postfix: "
     /usr/sbin/postfix reload 2>/dev/null 1>&2 && success || failure $"$prog reload"
     RETVAL=$?
     echo
     return $RETVAL
}

abort() {
     /usr/sbin/postfix abort 2>/dev/null 1>&2 && success || failure $"$prog abort"
     return $?
}

flush() {
     /usr/sbin/postfix flush 2>/dev/null 1>&2 && success || failure $"$prog flush"
     return $?
}

check() {
     /usr/sbin/postfix check 2>/dev/null 1>&2 && success || failure $"$prog check"
     return $?
}

restart() {
     stop
     start
}

# See how we were called.
case "$1" in
  start)
     start
     ;;
  stop)
     stop
     ;;
  restart)
     stop
     start
     ;;
  reload)
     reload
     ;;
  abort)
     abort
     ;;
  flush)
     flush
     ;;
  check)
     check
     ;;
  status)
       status master
     ;;
  condrestart)
     [ -f /var/lock/subsys/postfix ] && restart || :
     ;;
  *)
     echo $"Usage: $0 {start|stop|restart|reload|abort|flush|check|status|condrestart}"
     exit 1
esac

exit $?

设置该脚本权限

chmod +x /etc/init.d/postfix
chkconfig --add postfix
chkconfig postfix on
chown postfix.postfix -R /var/lib/postfix/
chown postfix.postfix /var/spool/ -R

4.安装Dovecot

yum -y install dovecot

配置Dovecot

vi /etc/dovecot/dovecot.conf

#  如果不使用IPv6,请修改为*
listen = *
vi /etc/dovecot/conf.d/10-auth.conf

disable_plaintext_auth = no
auth_mechanisms = plain login
vi /etc/dovecot/conf.d/10-mail.conf

mail_location = maildir:~/Maildir
vi /etc/dovecot/conf.d/10-master.conf

# Postfix smtp验证
unix_listener /var/spool/postfix/private/auth {
    mode = 0666
    user = postfix
    group = postfix
}

然后启动服务

/etc/init.d/postfix start
systemctl start dovecot

测试:就可以使用Foxmail等第三方软件来收发邮件了。

系统用户就是邮件的用户,例如root,就是一个邮箱用户,邮箱是root@domain.com,密码就是root的密码,所以需要创建用户,只要使用useradd创建用户,再使用passwd设置密码。

好了,假如我们创建一个admin的用户:

# 创建用户
useradd nineven
#设置密码,会要求输入两次密码
passwd nineven

Linux系统下邮件服务器的搭建(Postfix+Dovecot+SSL)

第二章,配置SSL

  

    1.创建自定义的ssl证书

cd /etc/pki/tls/certs
make server.key
umask 77 && /usr/bin/openssl genrsa -aes128 2048 > server.key
openssl rsa -in server.key -out server.key
make server.csr
umask 77 && /usr/bin/openssl req -utf8 -new -key server.key -out server.csr
chmod 400 server.*

2.配置

vi /etc/postfix/main.cf

# 添加到最后
smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/pki/tls/certs/server.crt
smtpd_tls_key_file = /etc/pki/tls/certs/server.key
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_tls_loglevel = 0
smtpd_tls_auth_only = yes
vi /etc/postfix/master.cf

smtps       inet   n       -       n       -       -       smtpd
  -o smtpd_tls_wrappermode=yes
vi /etc/dovecot/conf.d/10-ssl.conf

ssl = yes
# 指定证书
ssl_cert = </etc/pki/tls/certs/server.crt
ssl_key = </etc/pki/tls/certs/server.key

然后重新启动服务

/etc/init.d/postfix restart
systemctl restart dovecot

Linux系统下邮件服务器的搭建(Postfix+Dovecot+SSL)

Linux系统下邮件服务器的搭建(Postfix+Dovecot+SSL)文章来源地址https://www.toymoban.com/news/detail-403954.html

到了这里,关于Linux系统下邮件服务器的搭建(Postfix+Dovecot+SSL)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Apache James邮件服务器搭建(linux)

    1、配置jdk,此处不再赘述,随便搜一下然后照着操作即可 注意:后续james的版本是3.5.0,需要与jdk8配套 2、下载apache james ,apacheJames 下载之后可以直接运行,无需安装 注意:此处选择3.5.0版本,因为更高版本与jdk8不配套 Index of /dist/james/server/3.5.0 ​ 2、下载foxmail,用于后续进

    2024年02月10日
    浏览(50)
  • 【服务器】搭建hMailServer 服务实现远程发送邮件

    hMailServer 是一个邮件服务器,通过它我们可以搭建自己的邮件服务,通过cpolar内网映射工具即可实现远程发送邮件,不需要使用公网服务器,不需要域名,而且邮件账号名称可以自定义. 下面以windows 10系统为环境,介绍使用方法: 1. 安装hMailServer 进入官方下载:https://www.hmailserver.com/do

    2024年02月10日
    浏览(47)
  • 论如何本地搭建个人hMailServer邮件服务远程发送邮件无需域名公网服务器?

    🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页 ——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文并茂🦖生动形象🐅简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍专栏》 🐾 学会IDEA常用操作,工作效率翻倍~💐 🌊 《100天精通Golang(基础

    2024年01月24日
    浏览(62)
  • 超详细的Windows搭建hMailServer开源邮件服务器

    hMailServer是开源的邮件服务器软件,免费提供下载使用;而Microsoft Exchange是商业软件,通常需要购买授权来使用。两者相对来说,取决于您的需求和组织的规模。如果您是中小型企业组织或者是个人用户,并且希望后期维护的工作简单、又拥有一套免费的邮件服务器解决方案

    2024年02月04日
    浏览(47)
  • 教你用docker搭建自己的邮件服务器-Ewomail

    EwoMail 官方文档 EwoMail-Admin版本为1.05 rainloop 版本为1.11.1 运行docker mail.ewomail.com 换成自己的域名 docker-compose方式 或 可配置参数 MYSQL_ROOT_PASSWORD mysql数据库root密码,默认:mysql MYSQL_MAIL_PASSWORD mysql数据库ewomail密码,默认:123456 URL 网站链接,后面不要加/线 WEBMAIL_URL 邮件系统链接

    2024年02月08日
    浏览(44)
  • 群晖免费邮件服务器Mail Server搭建心德

    2023年1月2日 Daniel.y 群晖Synology Mail Server可以用于搭建免费的企业邮箱,不限用户数也不限邮箱容量。常规的安装流程在群晖的官方网站中有介绍,在此就不再赘述。这里主要介绍一些注意事项和疑难问题解决经验。 搭建自己的邮箱服务器面临最大的挑战是如何防止收到垃圾邮

    2024年02月07日
    浏览(74)
  • Linux高并发服务器开发---笔记1(环境搭建、系统编程、多进程)

    0613 首先这整个系列笔记属于笔记①:牛客校招冲刺集训营—C++工程师中的 第四章 笔记。 视频课链接: 视频1:Linux高并发服务器开发(40h); 视频2:第4章 项目制作与技能提升(录播)(26h30min); 视频课3: 第5章 高频考点与真题精讲(录播)中的 5.10-5.13 项目回顾 有个学

    2024年02月15日
    浏览(67)
  • linux centos系统搭建samba文件服务器 NetBIOS解析 (超详细)

    作者主页: 点击! Linux专栏:点击! 前言———— Samba 是一个开源软件套件,可为 SMB/CIFS 客户端(包括 Windows)提供文件和打印服务。通过设置 Samba 文件服务器,您可以在网络上共享文件和资源,从而实现不同操作系统之间的无缝协作。 在CentOS上搭建Samba文件服务器的过程

    2024年03月11日
    浏览(66)
  • Linux之实现Apache服务器监控、数据库定时备份及通过使用Shell脚本发送邮件

    目录  一、Apache服务器监控 为什么要用到服务监控? 实现Apache服务器监控 二、数据库备份 为什么要用到数据库备份? 实现数据库备份 三、Shell脚本发送邮件 为什么要用使用Shell脚本发送邮件? 实现Shell脚本发送邮件 在Linux中监控Apache服务器是非常重要的,原因如下: 保证

    2024年04月15日
    浏览(73)
  • 一、Postfix[安装与配置、smtp认证、Python发送邮件以及防垃圾邮件方法、使用腾讯云邮件服务]

    Debian 11 apt install postfix 解释:搭建真实的邮件服务器需要在DNS提供商那里配置下面的dns 配置A记录 mail.www.com - 1.x.x.x 配置MX记录 www.com - mail.www.com 解释:按照上面的配置通常邮件格式就是 admin@www.com 其通过www.com的MX记录找到mail.www.com再通过其A记录来找到对应服务器完成通讯 解

    2024年02月15日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包