poste邮件服务器搭建

news2024/12/25 9:04:36

关于poste

poste是一款开源邮件服务软件,可以很方便的搭建:SMTP + IMAP + POP3 + 反垃圾邮件 + 防病毒 + Web 管理 + Web 电子邮件,支持以下特性。

  • SPF、DKIM、DMARC、SRS 的原生实现,带有简单的向导
  • 用于检测木马、病毒、恶意软件的防病毒引擎 ( ClamAV )
  • 内置垃圾邮件过滤器( RSPAMD )
  • HTTPS 上的Webmail 客户端(Roundcube)
  • 通过Sieve 脚本进行电子邮件重定向、自动回复和其他过滤(电子邮件所有者管理,每个操作都可以编写脚本)
  • 用于限制邮箱空间或电子邮件数量的配额
  • 系统管理员、域管理员、电子邮件所有者具有不同权限的Web 管理。
  • 内置Microsoft 产品的自动发现功能,Thunderbird...
  • 帮助正确设置域和邮件服务器的诊断
  • SMTP - 端口 25、465 (TLS)、587
  • POP3 - 端口 110、995 (TLS)
  • IMAP - 端口 143、993 (TLS)
  • SSL TLS无处不在!没有个人数据、电子邮件、登录信息通过互联网未加密。
  • 默认情况下,所有密码都存储为加盐SHA512哈希(5000 轮)。攻击者将很难破解您的密码。
  • 整个邮件服务器容器由 Docker 与其他应用程序隔离。

准备工作

  • 一台VPS,有独立IP
  • 支持25端口及邮件发送
  • 建议内存2Gb以上
  • 干净的IP,没有被墙,没有被标记为垃圾IP
  • 提前安装好Docker

关于Docker安装可参考这篇文章《Linux安装Docker与Docker常用命令》,如果您使用的CentOS 7系统,也可以直接使用xiaoz提供的Docker一键安装脚本。

#CentOS一键安装Docker wget https://raw.githubusercontent.com/helloxz/shell/master/install_docker.sh && bash install_docker.sh

Docker部署poste

Docker部署poste,几乎不会影响你服务器上现有的服务,复制下面的命令执行:

docker run -d \ -p 880:80 -p 8443:443 -p 25:25 -p 110:110 -p 143:143 -p 465:465 -p 587:587 -p 993:993 -p 995:995 -p 4190:4190 \ -e TZ=Asia/Shanghai \ -v /data/mail-data:/data \ --name "mailserver" \ -h "mail.your-domain.com" \ --restart=always \ -t analogic/poste.io

参数含义如下:

  • 880/8443是WEB访问端口,为了避免和本地已有WEB服务(nginx等)冲突,所以这里使用的

880/8443作为WEB端口

  • TZ=Asia/Shanghai:设置容器为上海时区
  • /data/mail-data:本地数据目录,根据实际情况修改为服务器目录
  • mail.xxx.com:改成你自己的域名
  • --restart=always:容器异常时自动拉起

部署后访问https://IP:8443/根据提示完成初始化设置。

DNS设置

前往DNS服务商处,按照如下要求设置域名解析,否则邮件服务无法正常使用,其中:

  • your-domain.com:为你自己的域名
  • 1.2.3.4:为你的邮件服务器IP

主机名

记录类型

记录值

mail.your-domain.com

A

1.2.3.4

smtp.your-domain.com

CNAME

mail.your-domain.com

pop.your-domain.com

CNAME

mail.your-domain.com

imap.your-domain.com

CNAME

mail.your-domain.com

your-domain.com

MX

mail.your-domain.com

your-domain.com

txt

v=spf1 mx ~all

设置DKIM验证

在poste后台 - Virtual domains - 点击对应域名 - DKIM key - 创建key,并按照要求设置txt记录解析。

设置PTR反向解析

PTR记录,是电子邮件系统中的邮件交换记录的一种;另一种邮件交换记录是A记录(在IPv4协议中)或AAAA记录(在IPv6协议中)。PTR记录常被用于反向地址解析。——摘自百度百科

域名解析到IP被称为正向解析,而IP指向到域名,则被称为反向解析,反向解析需要在主机服务商处进行操作,具体请咨询主机服务商。

比如UltraVPS可以直接在后台面板添加PTR反向解析,将IP指向到您的邮件服务器,如mail.your-domain.com

添加SPF/DKIM/PTR解析,可提高邮件可信度,从而降低邮件进入垃圾箱的几率,必不可少的关键步骤。

设置TLS SSL

假如您的邮件域名为mail.your-domain.com,需要对这个域名申请SSL证书,可参考《使用acme.sh申请ZeroSSL泛域名证书,Let’s Encrypt替代品》或者在其它服务商申请SSL证书。

获得SSL证书后,打开poste后台 - System settings - TLS Certificate - 选择证书文件进行上传,见截图。

SSL提供商会自动将中级证书合并到了证书文件(比如腾讯云),因此中级证书那个选项可以和证书一致,然后点保存,保存后需要重启容器生效:docker restart mailserver

登录与管理

启用SSL后,可通过域名进行访问:https://mail.your-domain.com:8443/,默认是登录webmail,可以在webmail发信、收信等操作。

如果需要登录系统管理,可将地址修改为https://mail.your-domain.com:8443/admin/login

 

最后

poste官网:Poste.io ~ complete mail server

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/890717.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Hyper-V】Windows11 家庭版怎么启用虚拟机Hyper-V

在电脑Windows11系统上启用虚拟机Hyper-V,打开 启用和关闭WIndows功能,找到其中一项Hyper-V,对于家庭版的系统用户来说,这个选项是没有的,接下来讲一讲怎么开启。 安装Hyper-V 创建一个文件名为Hyper-v.bat&#xff…

人工智能原理(9)

目录 一、人工神经元模型 1、概念 2、分类 二、感知器的结构 三、反向传播网络 四、自组织映射神经网络 五、离散HOPFIELD网络 1、离散Hopfield网络结构 2、离散Hopfield网络的稳定性 3、离散Hopfield网络学习算法 六、脉冲耦合神经网络 一、人工神经元模型 1、概念…

Centos7安装Docker及配置加速器地址

一、安装docker #1.yum 包更新到最新 yum update #2.安装需要的软件包,yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的 yum install -y yum-utils device-mapper-persistent-data lvm2 #3.设置yum源 yum-config-manager --add…

【推荐】深入浅出学习Spring框架【上】

​ 目录 1.spring简介 1.1含义 1.2优点 2,Spring之IOC详解 2.1,控制反转是什么 2.2,控制反转案例 2.1.3案例前台测试 3、IoC的三种注入方式 3.1 构造方法注入 3.2 setter方法注入 3.3 接口注入(自动装配)用的最多&…

考研408 | 【操作系统】操作系统的概述

操作系统的概念和功能 导图 操作系统的功能和目标 1.作为系统资源的管理者 2.向上层提供方便易用的服务 3.作为最接近硬件的层次 操作系统的特征 导图 并发 并发VS并行 共享 并发和共享的关系 虚拟 异步 操作系统的发展和分类 导图 1.手工操作 2.批处理阶段--单道批处理系统…

JavaWeb 速通 EL 和 JSTL

目录 一、EL表达式 1.快速入门 : 1.1 基本介绍 1.2 入门案例 2.常用输出形式 : 2.1 创建JavaBean类 2.2 创建JSP文件 3.empty运算符 : 3.1 介绍 3.2 实例 4.EL对象 : 4.1 EL11个内置对象 4.2 域对象演示 4.3获取HTTP信息 二、JSTL标签库 1.基本介绍 : 2.core核心库常用标…

java 一个注解实现限流

在Java中,可以使用自定义注解来实现限流功能。 java import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; Retention(RetentionPolicy.RUNTIME…

【数据结构】 ArrayList简介与实战

文章目录 什么是ArrayListArrayList相关说明 ArrayList使用ArrayList的构造无参构造指定顺序表初始容量利用其他 Collection 构建 ArrayListArrayList常见操作获取list有效元素个数获取和设置index位置上的元素在list的index位置插入指定元素删除指定元素删除list中index位置上…

redis-集群(基础了解)

前言 为什么要做集群?解决什么问题? 1、避免单点故障,实现高可用;就需要数据沉余,通过沉余副本也是slave。 三种集群区别? 1、主从复制 复制策略 --> 全量复制 第一次连接到master,mast…

Mysql整理一 基础知识/常见面试题

一、基础概念 1. 索引 之前的文章已经写过了,比较细 数据库索引含义,类别,用法,创建方式_表结构加树形id和索引是为什么_马丁•路德•王的博客-CSDN博客 简单概括就是在表的某个列或者多个列或者联合表的时候加个索引,类似图书馆书本的索引编号&…

git环境超详细配置说明

一,简介 在git工具安装完成之后,需要设置一下常用的配置,如邮箱,缩写,以及git commit模板等等。本文就来详细介绍些各个配置如何操作,供参考。 二,配置步骤 2.1 查看当前git的配置 git conf…

pyqt5 第一个程序

import sys from PyQt5.QtWidgets import QApplication, QWidgetif __name__ __main__:# 创建 QApplication 实例app QApplication(sys.argv)# 创建一个主窗口w QWidget()# 设置大小w.resize(400, 200)# 设置窗口标题w.setWindowTitle(第一个程序)# 显示窗口w.show()# 固定写…

Arcgis连续数据的分类(求不同值域的面积)

问题描述:如果得到的一个连续的影响数值数据,但是我们想求取某一段值域的面积占比,需要进行以下操作: 1.按照数值重分类,将某段数值变成一个类别 2.栅格转矢量,再求取面积

第7章:贝叶斯分类器

贝叶斯决策论 贝叶斯分类器:使用贝叶斯公式 贝叶斯学习:使用分布估计(不同于频率主义的点估计) 极大似然估计 朴素贝叶斯分类 半朴素贝叶斯 条件独立性假设,在现实生活中往往很难成立。 半朴素贝叶 斯的一个常用策略…

学习ts(四)联合类型、交叉类型、类型断言

联合类型 使用联合类型定义属性和方法,只要符合其中一种即可 let myPhone: string | number 010-7788 // let myPhone1: string | number true 因为没有包含boolean值 会报错const fn (something: number | boolean): boolean > {return !!something }con…

Android Studio 之 Android 中使用 HanLP 进行句子段落的分词处理(包括词的属性处理)的简单整理

Android Studio 之 Android 中使用 HanLP 进行句子段落的分词处理(包括词的属性处理)的简单整理 目录 Android Studio 之 Android 中使用 HanLP 进行句子段落的分词处理(包括词的属性处理)的简单整理 一、简单介绍 二、实现原理…

Python入门【装饰器​编辑、多个装饰器 、带参数的装饰器、生成器、 生成器定义、 迭代器】(二十八)

👏作者简介:大家好,我是爱敲代码的小王,CSDN博客博主,Python小白 📕系列专栏:python入门到实战、Python爬虫开发、Python办公自动化、Python数据分析、Python前后端开发 📧如果文章知识点有错误…

教你10分钟快速上手Docker基础操作

一、docker平台组成 docker最核心的组件是:镜像、容器、仓库 二、常用基础命令 1、镜像操作 (1)拉取镜像 查找指定镜像:docker search 镜像名字 [rootclient ~]# docker search centos NAME …

VirtualBox安装CentOS8.5

0 环境 win10 virtualbox版本 版本 7.0.10 r158379 (Qt5.15.2) 1.镜像下载 阿里镜像站 https://developer.aliyun.com/mirror/ 1.1 找到安装包下载地址 1.2 找到8.5版本 1.3 iso 再然后 1.4 选择安装包 我这里选的是最小安装包,centOS8.5最小安装版本&#…

【边缘设备】yolov5训练与rknn模型导出并在RK3588部署~4.导出模型(亲测有效)

保姆级教程,看这一篇就够用了。 在翻阅了网络上很多资料后,发现很多版本的信息比匹配。 花了一周的时间配置环境,以及环境验证,然后写了这篇长文。 有过程,有代码,有经验,欢迎大家批评指正。 一…