如何在 Arch Linux VPS 上设置 Exim、Spamassassin、Clamd 和 Dovecot

介绍


本教程将涵盖如何在运行Arch Linux的VPS上安装和配置电子邮件系统,这将使我们能够作为我们在VPS上创建的Linux用户接收和发送电子邮件(滴)。

此配置不会为邮件传输配置SSL,因此对于大多数用途都不会安全。

安装Exim和防病毒软件


首先,安装exim邮件传输代理,负责接收消息并将其发送到远程邮件服务器。Exim还通过doveCot验证用户,以便我们可以使用Arch Linux VPS作为中间人发送远程计算机的电子邮件。

安装exim和反垃圾邮件/防病毒组件很容易:

1pacman -S exim spamassassin clamav

允许 Spamassassin


在开始spamd daemon之前,我们应该更新spamassassin的规则:

1/usr/bin/vendor_perl/sa-update -v

我们在 systemd 中启用 spamd,以便在重新启动后启动,然后在后台立即运行 :

1systemctl enable spamassassin
2systemctl start spamassassin

设置 Clam 防病毒


我們將編輯 clamav's config. 現在開啟檔案:

1nano /etc/clamav/clamd.conf

我们将通过将默认值从10M更改为16M来设置更高的附件限制来扫描,我们还将允许系统中的其他组使用clamav。

1#Example
2StreamMaxLength 16M
3AllowSupplementaryGroups yes

我们还通过编辑 /etc/clamav/freshclam.conf 文件来启用 clamav updater:

1nano /etc/clamav/freshclam.conf

评论例子就像我们上面所做的那样:

1#Example

接下来,将 clamav 添加到 exim 组中,以便 clamav 可以打开 exim 邮件文件并相应地扫描它们:

1usermod -G exim clamav

启动并启用服务:

1systemctl enable freshclamd
2systemctl enable clamd
3systemctl start freshclamd

等待 /var/lib/clamav 中的数据库更新几分钟,然后键入:

1systemctl start clamd

配置 Exim


接下来,我们将配置无 SSL 的 exim,添加我们的域名,并设置 dovecot smtp 身份验证。

1nano /etc/mail/exim.conf
primary_hostname = yourdomain.com
domainlist local_domains = @ : yourdomain.com
av_scanner = clamd:/var/lib/clamav/clamd.sock
spamd_address = 127.0.0.1 783

此外,如果尚未评论,请评论 SSL 行:

1#tls_advertise_hosts = *
2#tls_certificate = /etc/ssl/exim.crt
3#tls_privatekey = /etc/ssl/exim.pem

acl_check_data:部分中,删除下列评论,以便exim将扫描 来电电子邮件,以检测恶意软件和可能的垃圾邮件:

1deny malware    = *
2        message    = This message contains a virus ($malware_name).
3warn spam       = nobody
4        add_header = X-Spam_score: $spam_score\n\
5                    X-Spam_score_int: $spam_score_int\n\
6                    X-Spam_bar: $spam_bar\n\
7                    X-Spam_report: $spam_report

接下来,搜索名为开始身份验证器的部分,然后输入duecot身份验证细节:

 1dovecot_login:
 2  driver = dovecot
 3  public_name = LOGIN
 4  server_socket = /var/run/dovecot/auth-client
 5  server_set_id = $auth1
 6
 7dovecot_plain:
 8  driver = dovecot
 9  public_name = PLAIN
10  server_socket = /var/run/dovecot/auth-client
11  server_set_id = $auth1

保存并关闭文件。

设置 exim.conf 后,我们可以启用 MTA 并启动它:

1systemctl enable exim
2systemctl start exim

我们可以随时通过在 /var/log/exim/ 中对日志文件进行尾声检查出邮件大门发生了什么:

1tail /var/log/exim/mainlog

安装和配置Dovecot


接下来,安装 dovecot IMAP/POP3 DAEMON:

1pacman -S dovecot

重命名 dovecot 的主要配置文件,并在那里启用 imap 和 pop3:

1cp /etc/dovecot/dovecot.conf.sample /etc/dovecot/dovecot.conf
2nano /etc/dovecot/dovecot.conf

更改协议行以阅读:

1protocols = imap pop3

保存并关闭文件。

有其他配置文件可以编辑,以便更改,所以我们也会复制它们:

1cp /usr/share/doc/dovecot/example-config/conf.d/* /etc/dovecot/conf.d/

/etc/dovecot/conf.d/10-ssl.conf中禁用ssl以更改下列内容:

1nano /etc/dovecot/conf.d/10-ssl.conf

1ssl = no
2#ssl_cert = </etc/ssl/certs/dovecot.pem
3#ssl_key = </etc/ssl/private/dovecot.pem

允许 plaintext auth 在 /etc/dovecot/conf.d/10-auth.conf 中:

1nano /etc/dovecot/conf.d/10-auth.conf

1disable_plaintext_auth = no

请在 /etc/dovecot/conf.d/10-mail.conf 中指定我们的电子邮件位置:

1nano /etc/dovecot/conf.d/10-mail.conf

1mail_location = mbox:~/mail:INBOX=/var/mail/%u

我们还将配置 dovecot 身份验证器,以便 exim 能够对我们进行身份验证. 在 /etc/dovecot/conf.d/10-master.conf 下的服务 auth {,添加:

1nano /etc/dovecot/conf.d/10-master.conf

1unix_listener auth-client {
2    mode = 0660
3    user = exim
4  }

启用并启动duecot,运行:

1systemctl enable dovecot
2systemctl start dovecot

设置系统用户


将用户添加到系统,运行:

useradd -d /home/USERNAME -m -k /etc/skel USERNAME

将密码设置为:

passwd USERNAME

配置您的邮件客户端


我们现在可以使用Thunderbird邮件客户端,使用我们刚刚配置的用户名和密码通过我们的Arch Linux VPS发送和接收电子邮件。

安裝 Thunderbird在您的本地機器上,如果您尚未這樣做。

此设置将很大程度上取决于您在本地计算机上使用的操作系统。

在某些情况下,这将在偏好下,然后在帐户设置下。在其他操作系统中,您可以点击文件,然后选择,然后选择现有邮件帐户

Thunderbird Add New Account

设置帐户的姓名和姓名,然后输入电子邮件地址如下:

user_name@domain.com

如果你没有域名,你可以使用你的VPS的IP地址,也输入密码。

Thunderbird Account Settings

点击 继续,Thunderbird 将自动检测 IMAP 设置。

如果 Thunderbird 打开了关于我们电子邮件通信中缺乏加密的信息窗口,请检查我了解风险,然后点击 完成

Thunderbird No SSL Warning

测试您的电子邮件,通过电子邮件前进与已知的电子邮件地址. 你可能需要检查你的其他帐户上的垃圾邮件文件夹。

Published At
Categories with 技术
Tagged with
comments powered by Disqus