前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在 Debian 下配置邮件服务器

如何在 Debian 下配置邮件服务器

作者头像
Debian中国
发布2018-12-21 14:34:52
4.8K0
发布2018-12-21 14:34:52
举报
文章被收录于专栏:Debian中国Debian中国

本教程将讨论如何在Debian(或Ubuntu)配置一个可工作的邮件服务器。我们知道在邮件服务器使用的主要协议有SMTP、POP和IMAP。在本教程中,SMTP协议使用postfix,POP/IMAP协议使用dovecot。两者都是开源的、稳定的和高度可定制的。本教程中不会介绍邮件服务器的安全性,这超出了本文的范围。

1.先决条件

每个域必须有一个DNS服务器。建议不要使用Live域用于测试目的。在本教程中,将在实验室环境中使用测试域example.tst。在这个假设域名的DNS服务器应该在至少以下记录。

example.tst的forward zone配置:

代码语言:javascript
复制
			IN?MX?10	mail.example.tst.
mail.example.tst.	IN?A		192.168.10.1

example.tst的Reverse zone配置:

代码语言:javascript
复制
192.168.10.1		IN?PTR	mail.example.tst.

在配置邮件服务器的过程中,这些记录可以根据系统的要求进行修改。

(adsbygoogle = window.adsbygoogle || []).push({});

2.设置主机名

首先,必须在/etc/hostname和/etc/hosts文件中指定邮件服务器的主机名。前者应仅包含主机名。

代码语言:javascript
复制
root@mail:~#?vim?/etc/hostname


mail
代码语言:javascript
复制
root@mail:~#?vim?/etc/hosts


##?IP			Fully?Qualified?Domain?Name?	Hostname?##
192.168.10.1		mail.example.tst			mail

增加用户

每一个Linux用户,在默认情况下,系统会为其自动创建一个邮箱。这些用户和邮箱将被用作电子邮件帐户和它们各自的邮箱。创建一个用户是很容易的。

代码语言:javascript
复制
root@mail:~#?adduser?fourbyte

安装和配置SMTP

服务: postfix

配置文件路径

/etc/postfix/

执行脚本

/etc/init.d/postfix

日志文件

/var/log/mail.log

端口

TCP/25

SMTP:安装postfix

Postfix是广泛使用的SMTP服务器之一,因为它是稳定的、轻量级的、可扩展的、高度可定制的。安装postfix可以使用apt-get的完成。

代码语言:javascript
复制
root@mail:~#?apt-get?install?postfix

在安装过程中,需要指定电子邮件服务器和域名的类型。

由于此邮件服务器就会直接向目的地发送电子邮件,我们选择Internet Site。

邮件服务器的域名也需要配置,这可以从确保该邮件服务器发送的所有邮件都有@ example.tst作为发件人域。

postfix的配置文件存储在/etc/postfix目录。下面的配置文件是非常重要的。他们中的一些可能不存在,因此需要手动创建。?

  • transport:主要用于定义邮件如何被路由到特定的目标域。绕过DNS查询可以是一个很好的例子。在这种情况下,人们可以发送到域XYZ.com的电子邮件直接通过IP地址XYYX不考虑任何DNS查询的结果。?
  • access:可用于安全目的,如阻止发件人/收件人和他们的域名。?
  • aliases:用于定义用户别名。例如,发送到userA的邮件可以由userB和userC接收。?
  • main.cf:是postfix的配置文件。

SMTP:准备配置文件

差不多可以准备配置文件了。transport与aliases配置文件没有默认提供,需要手动创建。

代码语言:javascript
复制
root@mail:~#?cd?/etc/postfix
root@mail:/etc/postfix#?touch?transport?aliases

main.cf

首先需要备份main.cf然后再进行修改。根据下面的配置添加或修改配置文件。有关参数的更多详细信息,请参阅官方README配置手册

代码语言:javascript
复制
root@mail:/etc/postfix#?vim?main.cf
代码语言:javascript
复制
##?the?name?of?the?server?##
myhostname?=?mail.example.tst

##?alias?definitions?##
alias_maps?=?hash:/etc/postfix/aliases
alias_database?=?hash:/etc/postfix/aliases

##?transport?definition?##
transport_maps?=?hash:/etc/postfix/transport

##?myorigin?defines?the?domain?name?for?emails?originated?from?this?server.?In?this?case,?all?outgoing?mail?should?have?'@example.tst'?as?sender?domain?##
myorigin?=?example.tst

##?mydestination?parameter?specifies?what?domains?this?machine?will?deliver?locally,?instead?of?forwarding?to?another?machine.?##
mydestination?=?mail.example.tst,?localhost.example.tst,?localhost,?hash:/etc/postfix/transport

##?the?smarthost?address.?Not?used?in?this?tutorial?and?will?be?covered?in?the?future##
relayhost?=

##?the?trusted?sender?networks.?postfix?will?not?forward?mails?originated?from?other?subnets?##
mynetworks?=?127.0.0.0/8?[::ffff:127.0.0.0]/104?[::1]/128?192.168.10.0/24

##?mailbox?size?in?bytes.?0?denotes?no?limit?##
mailbox_size_limit?=?0

##?postfix?will?listen?on?all?available?interfaces?i.e.?eth0,?eth1,?eth2?and?so?on?##
inet_interfaces?=?all

transport

邮件域example.tst被定义为在本地传递不需要任何DNS查询。

代码语言:javascript
复制
root@mail:/etc/postfix#?vim?transport
代码语言:javascript
复制
example.tst	local:
.example.tst	local:
代码语言:javascript
复制
root@mail:/etc/postfix#?postmap?transport

aliases

假设所有发送到userA的所有电子邮件可以由userB接收,别名文件需要按如下所述进行修改。

代码语言:javascript
复制
root@mail:/etc/postfix#?vim?aliases
代码语言:javascript
复制
userA:?userA,?userB
代码语言:javascript
复制
root@mail:/etc/postfix#?postalias?aliases

注:语法“userA:userB”指定的邮件应该只向userB转发。userA将不会收到此邮件的副本。

SMTP:启动服务

使用以下命令启动postfix

代码语言:javascript
复制
root@mail:~#?service?postfix?restart

出现故障时/var/log/mail.log日志文件可以提供有用的信息。邮件服务器是否正在监听TCP端口25上也可以用netstat验证。

代码语言:javascript
复制
tcp?????0????????0????????0.0.0.0:25???????0.0.0.0:*????LISTEN

从输出可以看出,服务器正在监听端口25所有的请求。

安装和配置POP/IMAP

服务:?dovecot

配置文件路径

/etc/dovecot

执行脚本

/etc/init.d/dovecot

日志文件

/var/log/mail.log

端口

TCP: 110 (POP3), 143 (IMAP), 993 (IMAPS), 995 (POP3S)

POP/IMAP: 安装dovecot

dovecot是开源社区中处于领先地位的IMAP和POP服务器软件,而且很容易安装和配置。这次还是用apt-get安装dovecot。

代码语言:javascript
复制
root@mail:~#?apt-get?install?dovecot-common?dovecot-pop3d?dovecot-imapd

dovecot可以支持POP3和IMAP(plain text),以及加密POP3S和IMAPS(secured)。默认情况下,dovecot将创建和使用SSL加密的自签名证书。证书可以根据需求手动创建或导入。在本教程中,将使用dovecot生成的自签名证书。

POP/IMAP:准备配置文件

根据需要修改下面的参数。

代码语言:javascript
复制
root@mail:~#?vim?/etc/dovecot/conf.d/10-mail.conf
代码语言:javascript
复制
##?the?location?of?the?mailbox?is?specified?in?'mbox'?format?##
mail_location?=?mbox:~/mail:INBOX=/var/mail/%u

##?dovecot?is?granted?necessary?permission?to?read/write?user?mailboxes?##
mail_privileged_group?=?mail

这应该足启动邮件服务器的POP/IMAP服务。

POP/IMAP:启动服务

现在dovecot已经安装和配置好了,可以使用以下命令来启动:

代码语言:javascript
复制
root@mail:~#?service?dovecot?restart

同样,在出问题时日志文件(/var/log/mail.log)可以提供重要线索。dovecot是否运行也可以用netstat验证。

代码语言:javascript
复制
root@mail:/etc/dovecot/conf.d#?netstat?-nat
代码语言:javascript
复制
tcp??????0??????0??????0?0.0.0.0:110??????0.0.0.0:*??????LISTEN
tcp??????0??????0??????0?0.0.0.0:143??????0.0.0.0:*??????LISTEN
tcp??????0??????0??????0?0.0.0.0:993??????0.0.0.0:*??????LISTEN
tcp??????0??????0??????0?0.0.0.0:995??????0.0.0.0:*??????LISTEN

使用邮件用户代理(MUA)连接邮件服务器

邮件服务器现在可以使用了。可以在台式机、笔记本电脑、平板电脑或手机上用你最喜爱的电子邮件客户端软件配置邮件账户。以下是与Mozilla Thunderbird配置参数的截图。

故障排除

  • 日志文件/var/log/mail.log是你最好的朋友。任何的问题都可以在这里找到线索。?
  • 确保防火墙正确配置。?
  • 确保DNS服务器配置了适当的条目。?

综上所述,本教程中的演示只是运行在实验室环境中。测试DNS服务器所有必要的记录都已配置,并且用户之间的邮件可以在相同的服务器上发送(相同的域交换)。为了让事情更有趣,多邮件服务器可以被部署到不同的域来检查电子邮件如何跨域通信,因为必要的DNS记录都已存在。?

对外的邮件服务器有效的DNS记录。 Postfix和Dovecot的的设置,可以根据需要进行调整。?

警告:如果想要部署邮件服务器任何能够访问互联网邮件服务器,请确保您的SMTP是安全的。互联网以及来自局域网内部的恶意软件都是可以攻击SMTP的。

本文参与?腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-02-17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体同步曝光计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.先决条件
  • 2.设置主机名
  • 增加用户
  • 安装和配置SMTP
  • SMTP:安装postfix
  • SMTP:准备配置文件
  • SMTP:启动服务
  • 安装和配置POP/IMAP
  • POP/IMAP: 安装dovecot
  • POP/IMAP:准备配置文件
  • POP/IMAP:启动服务
  • 使用邮件用户代理(MUA)连接邮件服务器
  • 故障排除
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com