Ubuntu 18.10 安装配置Postfix + s-nail

发布于 作者 量尺寸留下评论

通过安装并配置Postfix和s-nail邮件客户端,可轻松实现电子邮件收发功能。Postfix是一个电子邮件服务器,安装和配置都很容易。s-nail是用来发送、管理电子邮件的客户端。本文中的一切指令均需在root权限下进行,我们将完整演示如何在Ubuntu 18.10环境中安装并配置Postfix和s-nail。首先我们通过指令安装Postfix服务。

DEBIAN_PRIORITY=low apt install postfix

这里我们使用DEBIAN_PRIORITY=low选项来进行安装,以便在安装时能进行简要的配置,在安装过程中需要的配置的选项如下:

• General type of mail configuration?:  选择 Internet Site

• System mail name: example. com 其中example. com为你的当前服务器域名

• Root and postmaster mail recipient: 当前Ubuntu用户名称,如root账号则为 root

• Other destinations to accept mail for: 其他需要接收的邮件地址,如果有其他域名则填入,否则Enter

• Force synchronous updates on mail queue?: 是否强制更新邮件队列,此处选择No

• Local networks: 本地networks的列表,此处一般使用默认值

• Mailbox size limit: 邮箱大小限制,此处为不限制,用0

• Local address extension character: 默认值+

• Internet protocols to use: 服务器支持的地址协议,选择IPV4或IPV6,两者都有则选择ALL

本列的完整配置选项如下:

General type of mail configuration?: Internet Site

System mail name: example.com (not mail.example.com)

Root and postmaster mail recipient: root

Other destinations to accept mail for: $myhostname, example.com, mail.example.com,

localhost.example.com, localhost

Force synchronous updates on mail queue?: No

Local networks: 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128

Mailbox size limit: 0

Local address extension character: +

Internet protocols to use: all

如果我们需要对以上参数进行再调整,使用以下命令进行重新配置:

dpkg-reconfigure postfix

下面我们需要进一步对Postfix的其他参数进行配置。对home_mailbox设置,指定当前用户的邮件目录:

postconf -e 'home_mailbox= Maildir/'

该指令将在当前用户目录下创建名为Maildir的目录来存储用户邮件文件。可以用cd ~进入目录后用ls命令查看到Maildir目录。

接着需要创建文件/etc/postfix/virtual来将电子邮件账号同Ubuntu账号对应起来,设置virtual_alias_maps参数值为hash:/etc/postfix/virtual

postconf -e 'virtual_alias_maps= hash:/etc/postfix/virtual'

接着编辑/etc/postfix/virtual文件的内容,格式如下:

[email protected] root
[email protected] root

利用postmap指令使该项配置生效。

postmap /etc/postfix/virtual

通过上面的配置,我们完成了对Postfix选项的设置,重启Postfix服务,使配置生效。

systemctl restart postfix

对系统防火墙进行配置。

$ sudo ufw allow Postfix

在安装s-nail前,需要确保Postfix的MAIL选项值完全正确,这个选项将会在安装s-nail时自动获取并使用它,为了确保所有用户环境都能取得该选项值,我们把该选项值保存到/etc/bash.bashrc和/etc/profile.d/mail.sh文件中:

echo 'export MAIL=~/Maildir' | sudo tee -a /etc/bash.bashrc | sudo tee -a /etc/profile.d/mail.sh

用以下命令读取/etc/profile.d/mail.sh中的相关参数到当前session中备用:

source /etc/profile.d/mail.sh

现在可以安装s-nail电子邮件客户端了。

sudo apt install s-nail

安装完成后,需要编辑配置文件/etc/s-nail.rc来设置几个参数。

nano /etc/s-nail.rc

将以下内容添加到文件/etc/s-nail.rc末尾:

set emptystart
set folder=Maildir
set record=+sent

以上配置允许s-nail在inbox为空的情况下打开邮件收件箱,设置文件夹为Maildir,并在其中新建sent文件夹用来保存已发送邮件。

以上所有配置完成后,Postfix + snail已经完成了安装和配置,下面我们来尝试发送邮件进行测试。

echo 'init' | s-nail -s 'init' -Snorecord root

这条指令将向本地root用户发送一封名标题为init内容为init的电子邮件。我们可能会收到 Can’t canonicalize “/home/sammy/Maildir” 这样的提示,这是正常现象,它只会有首次收发信时出现。这时我们需要检查一下邮件目录是否正常。

ls -R ~/Maildir

如果输出Maildir目录结构,并在/home/sammy/Maildir/new:下有电子邮件文件,这就说明Postfix和s-nail配置的完全正确。我们可以利用s-nail来实现对电子邮件的阅读和管理。

s-nail

运行s-nail后,会显示已经收到的邮件列表:

▸N  1 root               2019-01-01 16:42   14/426   init                                                                                                                                                                                 
 N  2 root               2019-01-02 16:42   14/429   welcome  

此时我们将在s-nail的命令提示符? 后输入N后的邮件编号来阅读邮件,用d来删除邮件,用h来显示邮件列表,用q退出s-nail。

发表评论

电子邮件地址不会被公开。 必填项已用*标注