LinuxGod.net
Linux大神网——精选每一篇高品质的技术干货
  1. 首页
  2. 开源快讯
  3. 正文

使用Docker搭建poste,自建邮局服务mailcow,mailcow功能上比poste更丰富

2023年2月28日 369点热度

在初期的文章中xiaoz分享过《使用Docker搭建poste,自建短信服务器》,poste这个邮局比较轻量linux学习视频,布署相对简单,适宜个人重度使用。并且从顾客的使用反馈来看(xiaoz之前有给顾客布署过),大量发件的时侯poste不太稳定,很容易出问题。且poste将所有相关依赖服务全部放在一个容器中,并没有使用docker-composer编排多个容器,进而造成稳定性大打折扣。

明天再分享另一个开源的自建邮局服务mailcowlinux架设邮件服务器,mailcow功能上比poste愈发丰富,官方提供docker-composer布署形式,下边和xiaoz一上去安装下mailcow电邮服务吧。

架设linux服务器_架设传奇万能登陆器_linux架设邮件服务器

注意:此教程须要把握一定Linux基础和Docker基础的人士阅读

先决条件

注意:请勿必和你的服务商确认是否支持PTR反向解析,倘若不支持的话电邮是很容易进垃圾箱的,就目前xiaoz所了解UltraVPS(EU)是支持PTR解析的,而且自己在后台就可以操作。

倘若您还没有安装Docker可以参考:Linux安装Docker与Docker常用命令

倘若您还没有安装docker-composer,可以使用下边的命令安装:

#下载docker-composer
curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
#添加执行权限
chmod +x /usr/local/bin/docker-compose
#建立软连接
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

部份CentOS7系统可能外置了postfix服务,会和mailcow端口冲突,可以先尝试执行下边的命令卸载postfix

#CentOS卸载postfix

yum -y remove postfix #Debian或者Ubuntu卸载postfix apt-get remove postfix

设置Linux主机名

假定您的顶尖域名为linux获取当前时间,这么您的主机名须要设置为或,前缀自己取,总之是须要二级域名。

设置主机名的命令为:

hostnamectl set-hostname mail.domain.com

之后更改/etc/hosts,添加一行hosts解析,就是将指向到您当前服务器的网段IP,命令如下:

echo '173.0.xx.xxx    mail.domain.com' >> /etc/hosts

布署mailcow

先克隆mailcow代码和脚本:

#CentOS安装Git
yum -y install git
#Debian安装Git
apt-get install git

#克隆mailcow代码 git clone https://github.com/mailcow/mailcow-dockerized

步入代码目录cdmailcow-dockerized执行初始化脚本:./generate_config.sh按照提示设置域名和时区等信息。注意:

域名要和前面设置的主机名一致,例如假如后续须要更改,可以编辑mailcow.conf这个配置文件

mailcow默认使用了80/443作为WEB端口,倘若您的服务器上早已存在WEB服务,可能会造成端口冲突,我们可以更改mailcow.conf这个配置文件,将

HTTP_PORT=80
HTTPS_PORT=443

更改为其它端口,例如更改为:

HTTP_PORT=880
HTTPS_PORT=8443

之后执行下边的命令拉取容器镜像和启动:

#拉取镜像
docker-compose pull
#启动容器

docker-compose up -d

初始化mailcow和添加域名

安装成功后,访问您的IP+端口步入WEB管理界面,默认用户名:admin,密码为:moohoo

架设linux服务器_架设传奇万能登陆器_linux架设邮件服务器

步入后台后点右上方“配置-邮箱设置-添加域名”

linux架设邮件服务器_架设传奇万能登陆器_架设linux服务器

注意:添加域名的时侯这儿须要填写您的顶尖域名,例如您主机名设置的是,这么这儿添加域名的时侯填写

添加邮箱解析

域名添加完毕后,两侧有个DNS按键,点击这个按键会对您的域名DNS进行检查和指引。

不过那种测量有点不准,但是并非所有记录都要添加,下边是必须添加的记录。

主机名记录类型记录值备注

A

您的IP

填写你VPS的网段IP

您的IP

PTR

可能须要联系服务商添加

MX

CNAME

CNAME

TXT

v=spf1amxip4:173.0.xx.xxx~all

IP改成你自己的

TXT

从mailcow后台获取

DKIM记录从mailcow后台获取

电邮测试

DNS解析添加完毕后,等待几分钟生效,之后在mailcow后台添加邮箱帐号,并登陆webmail进行发件测试。

打开这个网站linux架设邮件服务器,之后用你的mailcow邮箱发送短信,发送完毕后查看得分。

满分为10分,假如评分很差,mail-tester会给出提示,建议按照提示进行修正即可。

总结

上述步骤我们仅仅是完成了安装和初始化,虽然后续还有好多配置和维护工作要做。例如禁用IPV6、反向代理、配置SSL证书、数据备份与恢复等,有兴趣的可以参考mailcow官方文档完成,后续xiaoz再分享mailcow配置方面的内容。

自建邮局比较复杂且步骤繁杂,好多细节问题若处理不好很容易进垃圾箱。非必要情况建议使用第三方企业邮箱即可,除非有特殊需求。自建邮局其实不受发件量限制,但不建议短时间内发送大量垃圾电邮,否则你的IP或域名很容易被拉黑,最后得不偿失。

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: docker
最后更新:2023年2月28日

Linux大神网

每日更新,欢迎收藏♥ 不积跬步无以至千里,加油,共勉。

点赞
< 上一篇
下一篇 >

Linux大神网

每日更新,欢迎收藏♥
不积跬步无以至千里,加油,共勉。

最新 热点 随机
最新 热点 随机
VMware过期Linux系统CentOS7下载安装1.77下载地址 红旗linux操作系统v11.0-红旗操作系统操作系统吗? 5yw红软基地驱动完美支持windows、mac、linux系统 轻松安装ZeroMQ:Ubuntu系统必备的解决方案 怎么在Win7系统虚拟机上安装LinuxUbuntu的技巧?在这里 Linux必备!安装RAR解压器,轻松解压文件! 虚拟机linux系统下载 什么是linuxLinux(/托瓦兹)的Linux内核 文件永久删除还能找回来吗?关于Win和Mac系统的恢复方法 Ubuntu16.04怎样安装系统更新和应用更新16.04 网卡 centos 启动 Linux选择选择时各企业所参考的依据:以下内容和Centos Linux内核内存检测工具系列中的一篇,配置以及典型应用 虚拟机安装Ubuntu操作系统-Ubuntu空间20G镜像下载 0渗透操作0x02绕过disable_functions插件(组图) 【好玩的网络-第2.5期】分配IP有哪些骚操作?小白保姆级教程 Windows远程连接工具、Ubuntu系统的安装软件及系统 Linux一模一样远程连接编辑的操作图是什么? DRAM中的虚拟地址空间的缓存简化内存管理(组图) 2.5创建和配置虚拟机2.5.1创建虚拟机双击桌面的VMwarePlayer 掌握Linux基础命令-上海怡健医学系统 服务器上安装linux系统的具体操作过程-如何选择系统?
Linux文件路径查询方法,轻松获取文件位置Linux移植6410:从零开始的挑战!linux php安装 快速掌握Linux下PHP安装,轻松入门流行技术linux patch 文件 解决LinuxPatch文件10大疑难杂症,轻松应对!Ubuntu系统更改IP地址的简易教程,跟随以下步骤即可搞定!高效搭建Linux Android开发环境,轻松提升开发体验轻松掌握:如何查询Linux内核版本?Linux安装Matlab指南,快速掌握安装步骤Ubuntu 16安装网卡驱动教程,轻松解决网络连接问题Linux启动时,不使用图形界面可能更有效率!移植Linux,手机变身“大杀器”!详解8大关键操作Linux更高效,掌握启动终端快捷键!纯Python库实现上面介绍的HTML转换为PDF的软件Fedora 13服务器配置指南:9个实用技巧全解析9种方法轻松获取Linux版本,快速掌握系统信息!博客韦东山freeRTOS系列教程:入门文档教程+进阶视频教程轻松掌握linux ldd命令的技巧,成为高效开发者与管理员Linux VPS安全检测,保障服务器稳定运行!Linux下高效开发必备:配置Tomcat和JDK分析Linux中的I2C驱动程序框架核心结构(i2c-bus结构)
【面试刷图】往期面试题,10篇为一个单位归置 【知识点】如何记录常用的linux命令?(二) du下所有的文件和文件夹(不含子目录),统计符号链接所指向的大小 文件传输协议:文件传输的话控制端口21数据端口:20 不同服务器启动不同端口一样修改教程 虚拟机安装Ubuntu操作系统-Ubuntu空间20G镜像下载 Ubuntu自带的显卡驱动Nouveau会与N卡冲突导致卡机黑屏 【写在前面】C/C++内存的价值是什么都不知道 hello_exit函数代码存放在__init段中(一) 豆瓣高评分书籍,快来看看你都读过哪几本? 如何管理Linux软件包软件包命名deb软件包的命名遵循以下约定 Linux终端窗口中输入mysql-V以显示MySQL版本信息sky 大多数Ubuntu系统默认安装完是没有中文输入法的详细安装方法 如何在Ubuntu上为Android系统编写的Linux内核驱动程序? linux内核api 深入探索Linux内核API,你真的了解吗? 内核为什么需要内核线程Linux内核可以看作一个服务进程? 【】U盘su的输出是否有usb-storage, 一下美国Linux服务器的系统优化优化方法方法 计算编写应用程序意味着什么?的目标是这样的 4.1df命令4.3/4.4磁盘分区命令4.2du命令输出磁盘文件系统
标签聚合
软件 linux脚本 linux系统 sudo linux服务器 虚拟机 电脑 文件目录 命令 命令模式
书籍
课程
技术群
技术干货大合集↓
  • 2023年3月 / 112篇
  • 2023年2月 / 84篇
  • 2023年1月 / 161篇
  • 2022年12月 / 187篇
  • 2022年11月 / 76篇
友情链接:

Linux书籍 | Linux命令 | Linux系统 | RHCE红帽认证 | Linux软件 | Linux教程 | CentOS系统 | Linux内核 | Linux服务器 | Linux大神 | IT资源

COPYRIGHT © 2023 linuxgod.net ALL RIGHTS RESERVED.