第1步:安装Postfix的
如果postfix不是已经在机器上安装,使用以下命令来安装它。如果已经安装也删除sendmail。
# yum remove sendmail
# yum install postfix
让Stapling为默认的MTA使用以下命令系统
# alternatives --set mta /usr/sbin/postfix
如果上述命令不起作用,你会得到输出“/usr/sbin/postfix has not been configured as an alternative for mta “。使用下面的命令跳过它
# alternatives --set mta /usr/sbin/sendmailpostfix
第2步:配置postfix
让我们开始postfix配置。编辑Postfix的配置文件/etc/postfix/maincf文件在你喜欢的编辑器并进行以下更改。
myhostname = mailhowtoingcom
mydomain = howtoingcom
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost, $mydomain
mynetworks = 127000/8, /32
relay_domains = $mydestination
home_mailbox = Maildir/
上面的命令编辑postfix的配置文件执行,并确保所有更改正确完成后。
第3步:重新启动Postfix的服务
正如我们已经做了基本的Postfix的配置,所以重新启动postfix服务读取配置的变化。还配置为在系统启动时自动启动。
# service postfix restart
# chkconfig postfix on
第4步:打开防火墙端口
现在,如果你的系统配置为使用iptables防火墙,所以添加防火墙规则以使postfix从外部访问,使用下面的命令。
# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT
# iptables -A INPUT -m state --state NEW -m udp -p udp --dport 25 -j ACCEPT
效果截图
Sendmail :sendmail 是最古老的 MTA(Mail Transfer Agent,电子邮件系统)之一,最早它诞生的时候,Internet 还没有被标准化,当时主机之间使用的是 UUCP 技术来交换邮件。它被设计得比较灵活,便于配置和运行于各种类型的机器。
Qmail :qmail 是新生一代的 MTA 代表,它以速度快、体积小、易配置安装等特性而著称。作者 DJBernstein 是一个数学教授,富有传奇色彩。他于 1995 年开发 qmail,1996 年发布 070 版,并使用了多种当时比较先进的 技术,包括 Maildir,与 sendmail 单个 binary 不同的模块化设计,权限分离,以及使用了大量由他编写的配套工具,如 daemontool,ucsip-tcp 等。qmai迅速成为了 Internet 上最有名的 MTA,使用者众。
postfix :postfix如今已经独树一帜,流水线、模块化的设计,兼顾了效率和功能。灵活的配置和扩展,使得配置 postfix 变得富有趣味。其主要的特点是速度快、稳定,而且配置/功能非常强大,并和 sendmail 类似,提供了与外部程序对接的 API/protocol。尤其是配置部分,postfix 另一个优势是至今依然保持活跃的开发工作,而且稳步发展,适合高流量大负载的系统,扩充能力较强。本实验也是基于 postfix 服务器软件来实现。
邮件服务器基本的工作原理
MUA(Mail User Agent):向外发送邮件,以及提供用户浏览与编写邮件的功能。
MTA(Mail Transfer Agent):(可以理解为 smtpd 服务器)帮忙将用户的邮件传递出去或接收进来。
MDA(Mail Delivery Agent):将接收下来的邮件存放到对应用户邮筒当中的程序。通过分析 MTA 所收到邮件的表头或内容,来判断此邮件是属于哪个用户,然后决定将此邮件投递给哪个用户的邮筒里。
MRA(Mail Retrieval Agent):通过 MRA 服务器提供的邮政服务协议(POP)来接收自己的邮件。
邮件中继:
SMTPD 要支持邮件路由功能,需要打开 Open Relay 开放式中继。
SMTPD 是根据收件人判断邮件是否需要中继,而且只给指定的客户端中继。
注:当 DNS 上存在多个 MX 记录的主机这时就是根据 DNS 的邮件级判断了。DNS 上定义的值越小,其优先级越高。辅助交换器接受到邮件并不能保存邮件。而是这个辅助交换器会等到主邮件交换器空闲的时候把代替它接受下来的邮件在转给主邮件交换器。所以任何邮件处理都是主邮件交换器处理的。所以我们实际情况下,如果有 2 台服务器做邮件交换器,性能比较高的应该为主的。
安装配置过程中,postfix 通过 Internet 发送和接收 email,并存储在用户邮箱里。同时客户也可以通过 IMAP 或者 POP3 恢复他们的邮件。其中的客户认证是通过 Courier Authdaemon 模块的。下图表示出了这个过程:
出现安装界面时,首先按下 <tab> 键切换到确定,然后按下回车。
安装 postfix 的时候会问你安装的服务器类型,对于我们的需要,我们选择默认的 Internet Site,这是最符合我们的服务器类型,然后按下回车确认。
使用 vim 编辑配置文件:
大概在第 31 行,编辑 myhostname,修改为 myhostname = shiyanloucom。
然后我们把 alias_map 参数修改为 alias_maps = hash:/etc/postfix/virtual,之后会讲解 virtual 里面填写什么。
之后设置 mynetworks 段落,它定义可以使用这台服务器的主机,我们这里就用默认的本地地址。你也可设置为其他地址。
编辑完成后按下 Esc 键,输入 :wq 保存退出。
此命令创建了一个用户 master,其中 -d 和 -m 选项用来为登录名 master 产生一个主目录 /usr/master(/usr 为默认的用户主目录所在的父目录)。
我们编写之前设置的 virtual文件,这些邮箱地址是用来传送邮件的。
在这个文件里,我们将设置一个表,对应相关的邮件地址。
完成后保存关闭文件。
我们可以通过调用下面这个命令来实现我们的映射:
接着我们重启 postfix,完成我们的修改:
我们可以用 shiyanlou 这个账号给 master 这个账号发一封邮件。首先我们需要安装一个命令行收发邮件的软件 mailutils 。
写一封邮件
输入如下内容:
其中 -s 参数是指邮件的标题,< 后面是将要发送的邮件内容从 hellotxt 中重定向。这个命令如果正确执行不会有输出。
然后我们切换到 master 用户,查看我们的邮件。
按下回车建可以查看邮件内容,输入 quit 即可退出邮箱。
Linux 邮件服务器原理介绍,编译安装 Postfix 实现本地的邮件服务
Ubuntu 服务器指南-邮件服务-Postfix
how-to-run-your-own-mail-server-with-mail-in-a-box-on-ubuntu-14-04
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)