铁佛 发表于 2024-9-2 14:26:52

在 UBUNTU 22.04 上逐步构建 Postal SMTP 服务器

构建 Postal SMTP 服务器来发送批量电子邮件是电子邮件营销职员的不错选择。Postal 功能非常强大,并拥有大量开发职员的支持。它是一个用 JavaScript 和 Ruby 编写的开源邮件服务器脚本。它可用于构建内部 SMTP 服务器,就像 Mailgun、Sendgrid、Mailchimp 等一样。
Postal 的安装并不非常简单。安装过程相当复杂。这是因为 Postal 需要预先安装几个包,然后才气利用。我已尝试使其尽大概简单。
Postal SMTP 服务器要求

至少具有 4 GB RAM 和 2 个 vCPU 的 VPS 或云
操作系统:Ubuntu 22.04 或 Ubuntu 20.04
我偿试用Centos 7.x,会在启动时间一直无限重启,最后换了Ubuntu 正常
本地环境摆设,固然没报错,但一直不能访问,换到了云端直接启动直接用,我临时还不清晰什么情况,阿里云的请申请开通25端口,坑人的玩意,正常利用最重要的是DNS的设置,请看官网文档、设置文件、新增组织后的DNS阐明。 我想用批量新增或转发路由,但并没找到相干内容,痛惜

初始设置

要开始安装,您需要连接到服务器。如果您利用的是 Linux,则必须为此获取 SSH 客户端。Putty 就是如许一个 SSH 客户端。但是如果您利用的是 Linux 或 Mac,只需打开终端并输入ssh@xx.xxxxx ,此中 xx.xxxxx 是您的服务器 IP 所在。
首先切换到root用户
sudo -i
之后更新并升级你的 Ubuntu
apt update -y
apt upgrade -y
接下来设置主机名。将“example.com”替换为您的域名。
hostnamectl set-hostname postal.yourdomain.com
更新 DNS 记录
登录域名注册商并为postal.example.com创建A记录
如今让我们开始安装
安装 Docker 和 Docker-Compose

最近,postal切换到 docker 模式,以便最终用户更轻松地进行安装。因此,我们需要先安装Docker 和 Docker-Compose 。我已经详细讨论了什么是 docker、docker-compose 和安装步骤。请随意阅读本文以清晰地了解 docker。
安装 Docker

首先,设置几个包来设置 Docker 存储库
sudo apt-get install ca-certificates curl gnupg
接下来,添加Docker 的官方 GPG 密钥。
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
如今,您可以利用以下下令安装 Docker 存储库
echo \
"deb https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
接下来更新系统软件
sudo apt-get update -y
最后,运行以下下令安装Docker Engine和containerd。
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
安装 Docker-Compose
首先下载 Docker Compose 的当前稳固版本:
curl -SL https://github.com/docker/compose/releases/download/v2.23.3/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
接下来,更新二进制权限
sudo chmod +x /usr/local/bin/docker-compose
另外,创建一个符号链接
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
最后,测试docker-compose安装
docker-compose --version
您将看到 docker-compose 版本。如果您看到其他内容,则体现出现问题。
安装Postal SMTP 的其他先决条件

安装 Docker 和 Docker-compose 后,您需要安装一些其他软件包,如 Git、MariaDB 等。
因此,让我们逐一安装它们。
首先,安装 git 和 git curl
apt install git curl jq -y
接下来克隆Postal助手存储库
git clone https://github.com/postalserver/install /opt/postal/install
sudo ln -s /opt/postal/install/bin/postal /usr/bin/postal
安装 MariaDB

如今,你可以在docker容器中安装MariaDB
docker run -d \
   --name postal-mariadb \
   -p 127.0.0.1:3306:3306 \
   --restart always \
   -e MARIADB_DATABASE=postal \
   -e MARIADB_ROOT_PASSWORD=postal \
   mariadb
如今我们已经安装了所有必备软件包,是时间安装 Postal
安装Postal

你之前安装的Postal存储库能够生成一些设置文件以供利用
运行以下下令。
postal bootstrap postal.yourdomain.com
上述下令生成 3 个文件。此中postal.yml是我们感兴趣的。
你将看到雷同如许的输出
version: 2

postal:
web_hostname: postal.yourdomain.com
web_protocol: https
smtp_hostname: postal.yourdomain.com

main_db:
host: 127.0.0.1
username: root
password: postal
database: postal

message_db:
host: 127.0.0.1
username: root
password: postal
prefix: postal

smtp_server:
default_bind_address: "::"

dns:
# Specify the DNS records that you have configured. Refer to the documentation at
# https://github.com/atech/postal/wiki/Domains-&-DNS-Configuration for further
# information about these.
mx_records:
    - mx.postal.yourdomain.com
spf_include: spf.postal.yourdomain.com
return_path_domain: rp.postal.yourdomain.com
route_domain: routes.postal.yourdomain.com
track_domain: track.postal.yourdomain.com

smtp:
# Specify an SMTP server that can be used to send messages from the Postal management
# system to users. You can configure this to use a Postal mail server once the
# your installation has been set up.
host: 127.0.0.1
port: 2525
username: # Complete when Postal is running and you can
password: # generate the credentials within the interface.
from_name: Postal
from_address: postal.yourdomain.com

rails:
# This is generated automatically by the config initialization. It should be a random
# string unique to your installation.
secret_key: 2f271404e1fac638bf546b0ee4b6485c713351aba71291ae55253f345d0dc045c0450a5750e7ca2bbd2068628d5a2253454cca352c46ea9d9804ed59cbe8a027b24dc74bcadd3b50ae21138a61d344609d13f0875caf21c53681e5289868194f756a8c34e2409b8ec92e3e149c13fe4e08dc6cbdb04bb02bc8943d1ff8faeae6
初始化数据库

初始化数据库非常简单,只需实行以下下令,您就会看到在输出中创建的数据库表。
postal initialize
之后,是时间建立Postal
postal make-user
系统将要求您输入管理员用户的电子邮件 ID、姓名和暗码。输入答案,然后转到下一步
启动并运行Postal

启动和运行Postal也非常简单。只需运行以下下令即可。
postal start
您可以检查Postal状态
postal status
你也可以输入postal检察相干的下令
root@postal:~# postal
Usage: postal

Running postal:

* start - start Postal
* stop - stop Postal
* restart - restart Postal
* status - view current process status
* logs - view logs from services

Setup/upgrade tools:

* initialize - create and load the DB schema
* upgrade - upgrade the DB schema

Other tools:

* version - show the current Postal version
* make-user - create a new global admin user
* default-dkim-record - display the default DKIM record
* console - open an interactive console
* test-app-smtp - send a test message through Postal
* bootstrap hostname - create a new set of config
* bash - access a bash console for a running process
安装 Caddy(这个是官网的教程,也可以利用自己熟悉的署理)

这是Postal添加的新功能,用于自动安装 SSL。
docker run -d \
   --name postal-caddy \
   --restart always \
   --network host \
   -v /opt/postal/config/Caddyfile:/etc/caddy/Caddyfile \
   -v /opt/postal/caddy-data:/data \
   caddy
如今,您可以https://postal.yourdomain.com利用管理员凭据登录。您将看到雷同如许的管理页面。https://img-blog.csdnimg.cn/direct/7b3b252a9a444c949333c71720c46c0f.png
有时间的会再写一篇关于利用的文章,最重要的还是DNS的设置

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 在 UBUNTU 22.04 上逐步构建 Postal SMTP 服务器