如何在Ubuntu 20.04上安装Mailu Mail Server
Mailu是一个在Docker容器上运行的简单但功能强大的邮件服务器。
它是一个免费的软件,适用于建议和贡献。
它意味着提供一个简单的电子邮件服务器设置。
Mailu图像应在运行Docker(> = 1.11)的任何云服务器上运行,我们可以在Docker Compose,Kubernetes和Rancher之间进行选择以运行Mailu Mail Server。
已编写本教程以帮助用户在Ubuntu 20.04服务器上安装和配置Mailu Mail Server。
Mailu Mail Server的功能
就像任何其他邮件服务器一样,预计Mailu将满足发送和接收电子邮件的要求。
以下是Mailu Mail Server最重要的功能:标准电子邮件服务器,IMAP和IMAP +,SMTP和IMAPASHADADADCUCTICE,别名,域别名,自定义RoutingWeb Access,多个Webmails和管理界面特征,别名,自动回复,自动前进,获取的仪库功能,全局管理员,公告,每个域委派,报价,强制执行TLS,Letsencrypt!,传出的DKIM,防我将毒扫描仪扫描仪,自动学习,Greylisting,DMARC和Spffreedom,所有FOSS组件,没有跟踪器包括
在Ubuntu 20.04上设置Mailu Mail Server
安装前更新系统包
sudo apt-get update sudo apt-get upgrade
我们需要确保我们的系统具有有效的IP地址和完全限定的域名。
对于我们的域也应该有有效的MX记录。
要设置服务器IP和主机名,请运行以下命令:
sudo hostnamectl set-hostname mail.example.com
还向/etc/hosts文件添加服务器的FQDN和IP地址。
$sudo vim /etc/hosts 62.15.116.167 mail.example.com
一旦设置,重新启动系统
sudo reboot
应通过系统防火墙允许以下端口,因为它们对电子邮件至关重要。
我们可以使用UFW打开端口,如下所示:
sudo ufw allow proto tcp from any to any port 25,80,443,110,143,465,587,993,995
在Ubuntu上安装Docker和Docker撰写
要在Ubuntu 20.04上安装Docker和Docker Compose,请检查我们的教程。
在Ubuntu上安装Docker
在Ubuntu上安装Docker Compose
创建maku目录
安装Docker和Docker Compose后,继续创建Mailu将存储其数据的目录。
sudo mkdir /mailu
Mailu使用Docker Compose.yml文件,并且还依赖于Mailu.env进行各种设置。
我们需要使用在线Mailu设置实用程序为环境生成Mailu配置。
生成器将为我们提供Docker Compose.yml和mailu.env文件。
生成配置后,我们将接收要用于下载文件的链接。
确保在Mailu目录中下载文件。
生成文件时,我们应该获得这样的页面
对于我的安装案例,我生成并获得了以下内容的文件:
$vim mailu.env # Mailu main configuration file # # This file is autogenerated by the configuration management wizard for compose flavor. # For a detailed list of configuration variables, see the documentation at # https://mailu.io ################################### # Common configuration variables ################################### # Set to a randomly generated 16 bytes string SECRET_KEY=YPQAFO2THH5WSM7I # Subnet of the docker network. This should not conflict with any networks to which your system is connected. (Internal and external!) SUBNET=192.168.203.0/24 # Main mail domain DOMAIN=example.com # Hostnames for this server, separated with comas HOSTNAMES=mailu.example.com # Postmaster local part (will append the main mail domain) POSTMASTER=admin # Choose how secure connections will behave (value: letsencrypt, cert, notls, mail, mail-letsencrypt) TLS_FLAVOR=letsencrypt # Authentication rate limit (per source IP address) AUTH_RATELIMIT=10/minute;1000/hour # Opt-out of statistics, replace with "True" to opt out DISABLE_STATISTICS=False ################################### # Optional features ################################### # Expose the admin interface (value: true, false) ADMIN=true # Choose which webmail to run if any (values: roundcube, rainloop, none) WEBMAIL=roundcube # Dav server implementation (value: radicale, none) WEBDAV=radicale # Antivirus solution (value: clamav, none) ANTIVIRUS=clamav ################################### # Mail settings ################################### # Message size limit in bytes # Default: accept messages up to 50MB # Max attachment size will be 33% smaller MESSAGE_SIZE_LIMIT=50000000 # Networks granted relay permissions # Use this with care, all hosts in this networks will be able to send mail without authentication! RELAYNETS= # Will relay all outgoing mails if configured RELAYHOST= # Fetchmail delay FETCHMAIL_DELAY=600 # Recipient delimiter, character used to delimiter localpart from custom address part RECIPIENT_DELIMITER=+
和Docker-Compose文件如下:
$docker-compose.yml # This file is auto-generated by the Mailu configuration wizard. # Please read the documentation before attempting any change. # Generated for compose flavor version: '2.2' services: # External dependencies redis: image: redis:alpine restart: always volumes: - "/mailu/redis:/data" # Core services front: image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}nginx:${MAILU_VERSION:-1.7} restart: always env_file: mailu.env logging: driver: json-file ports: - "62.15.116.167:80:80" - "::1:80:80" - "62.15.116.167:443:443" - "::1:443:443" - "62.15.116.167:25:25" - "::1:25:25" - "62.15.116.167:465:465" - "::1:465:465" - "62.15.116.167:587:587" - "::1:587:587" - "62.15.116.167:110:110" - "::1:110:110" - "62.15.116.167:995:995" - "::1:995:995" - "62.15.116.167:143:143" - "::1:143:143" - "62.15.116.167:993:993" - "::1:993:993" volumes: - "/mailu/certs:/certs" - "/mailu/overrides/nginx:/overrides" admin: image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}admin:${MAILU_VERSION:-1.7} restart: always env_file: mailu.env volumes: - "/mailu/data:/data" - "/mailu/dkim:/dkim" depends_on: - redis imap: image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}dovecot:${MAILU_VERSION:-1.7} restart: always env_file: mailu.env volumes: - "/mailu/mail:/mail" - "/mailu/overrides:/overrides" depends_on: - front smtp: image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}postfix:${MAILU_VERSION:-1.7} restart: always env_file: mailu.env volumes: - "/mailu/overrides:/overrides" depends_on: - front antispam: image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}rspamd:${MAILU_VERSION:-1.7} restart: always env_file: mailu.env volumes: - "/mailu/filter:/var/lib/rspamd" - "/mailu/dkim:/dkim" - "/mailu/overrides/rspamd:/etc/rspamd/override.d" depends_on: - front # Optional services antivirus: image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}clamav:${MAILU_VERSION:-1.7} restart: always env_file: mailu.env volumes: - "/mailu/filter:/data" webdav: image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}radicale:${MAILU_VERSION:-1.7} restart: always env_file: mailu.env volumes: - "/mailu/dav:/data" fetchmail: image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}fetchmail:${MAILU_VERSION:-1.7} restart: always env_file: mailu.env # Webmail webmail: image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}roundcube:${MAILU_VERSION:-1.7} restart: always env_file: mailu.env volumes: - "/mailu/webmail:/data" depends_on: - imap networks: default: driver: bridge ipam: driver: default config: - subnet: 192.168.203.0/24
使用设置完成后,使用Docker在Mailu目录中运行Mailu
$sudo docker-compose up -d Recreating mailu_webdav_1 ... done Recreating mailu_fetchmail_1 ... done Recreating mailu_front_1 ... done Recreating mailu_antivirus_1 ... done Recreating mailu_admin_1 ... done Recreating mailu_antispam_1 ... done Recreating mailu_imap_1 ... done Recreating mailu_smtp_1 ... done Recreating mailu_webmail_1 ... done
通过运行以下命令设置管理员用户:
$docker-compose -p mailu exec admin flask mailu admin admin example.com PASSWORD created admin user
This creates a user called Hyman@theitroad with admin rights.
在Ubuntu 20.04上配置Mailu Mail Server
完成后,使用主机名访问Mailu Web Portal:https://mailu.example.com。
我们应该获取页面要与管理员密码登录。
登录后,我们应该看到以下页面。
通过单击"更新密码",确保将密码更新到更强大的密码。
创建域名mailu.
要添加域,请单击域→新域
创建用户makeu.
要创建用户,请单击邮件域。
在"管理"下,单击将我们带到用户列表的邮箱图标。
单击"添加用户"
maku webmail.
对于我的安装,我选择使用RoundCube进行Webmail。
访问webmail开始发送电子邮件。
单击Webmail,然后将我们指向RoundCube登录页面。