红联Linux门户
Linux帮助

Ubuntu 16.04安装配置Postfix

发布时间:2016-06-16 10:39:08来源:topspeedsnail.com作者:linux人

Postfix是流行的开源邮件传送代理(MTA),用来发送邮件和从一个MTA获取发给某个用户地址的e-mail消息。互联网上大约25%的邮件服务器使用Postfix。

本文记录了在Ubuntu 16.04上安装配置Postfix的步骤。


要求:

有root权限(sudo)
一个指向服务器的FQDN;我以mail.topspeedsnail.com为例


#1 安装Postfix

由于Postfix在Ubuntu的默认软件仓库中,所以安装它极为简单。

$ sudo apt update
$ sudo apt install postfix

安装过程中会让你回答一系列问题:

General type of mail configuration?:选择 Internet Site
System mail name:这是构建邮箱地址的基本域名;例如我的hostname是mail.topspeedsnail.com,但是我也许会把System mail name设置为topspeedsnail.com,这样如果给定一个用户名 testuser,Postfix会构建邮箱testuser@topspeedsnail.com。
Root and postmaster mail recipient:这是一个Linux用户,用来转发邮件到root@和postmaster@。使用你主要的Linux账户(我使用snail)。
Other destinations to accept mail for:定义接受的邮件目标;如果你要添加其他域名,Postfix会负责接收。我使用默认设置。
Force synchronous updates on mail queue?:如果你使用journaled文件信息,选择No
Local networks:配置邮件中继使用的网络,在大多数情况下默认配置就可以。
Mailbox size limit:限制消息的大小;如果设置为0,不限制大小。
Local address extension character:分割邮箱地址和扩展的分隔符(用来创建动态别名)。
Internet protocols to use:选择All就可以

上面的这些选项是可以重新配置的:

$ sudo dpkg-reconfigure postfix


#2 配置Postfix

更改一些安装时没有设置的选项。

设置mailbox,两个选项:

Maildir:把不同消息存到当个文件中,根据用户的操作在目录间移动
mbox:把所有消息保存到单一的文件中

设置home_mailbox;邮件保存到~/Maildir目录:

$ sudo postconf -e 'home_mailbox= Maildir/'

设置virtual_alias_maps:

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

映射邮件地址->Linux用户:

$ sudo vim /etc/postfix/virtual

虚拟别名映射表的格式非常简单,左边邮件地址,空格,然后是要递送邮件的Linux用户。例如,如果你想接收contact@topspeedsnail.com和admin@topspeedsnail.com地址的邮件,并且想把这些邮件发给Linux snail用户,那么文件内容如下:

contact@example.com snail
admin@example.com snail

是上面的映射生效:

$ sudo postmap /etc/postfix/virtual

重启Postfix服务:

$ sudo systemctl restart postfix


#3 配置防火墙

如果你使用了防火墙,不要忘了设置防火墙规则。

例如UFW:

$ sudo ufw allow Postfix

$ sudo ufw allow 25
$ sudo ufw allow 143
$ sudo ufw allow 993
$ sudo ufw allow 110
$ sudo ufw allow 995


#4 设置环境变量

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


#5 安装Mail客户端

为了能够和递送的邮件进行交互,我安装s-nail:

$ sudo apt install s-nail

配置s-nail:

$ sudo vim /etc/s-nail.rc

在文件尾添加:

set emptystart
set folder=Maildir
set record=+sent


#6 测试

初始化;发送一个邮件:

$ echo 'init' | mail -s 'init' -Snorecord snail

第一次执行你也许会得到如下错误:

Ubuntu 16.04安装配置Postfix

这个错误只出现一次,不用担心。看看~/Maildir目录内容。

使用s-nail管理邮件:

$ s-nail

发送邮件测试:

$ echo 'test' | mail -s 'Test email' -r admin@topspeedsnail.com test@163.com

如果test@163.com可以收到邮件表示Postfix配置正确。

上面只是Postfix邮件服务器最基本的配置。


本文永久更新地址:http://www.linuxdiyf.com/linux/21565.html