在本系列的最后,我们将详细介绍如何在 Dovecot 和 Postfix 中设置虚拟用户和邮箱。
欢迎回来,热心的 Linux 系统管理员们! 在本系列的第一部分和第二部分中,我们学习了如何将 Postfix 和 Dovecot 组合在一起,搭建一个不错的 IMAP 和 POP3 邮件 服务器 。 现在我们将学习设置虚拟用户,以便我们可以管理所有 Dovecot 中的用户。
抱歉,还不能配置 SSL
我知道我答应过教你们如何设置一个受 SSL 保护的服务器。 不幸的是,我低估了这个话题的范围。 所以,我会下个月再写一个全面的教程。
今天,在本系列的最后一部分中,我们将详细介绍如何在 Dovecot 和 Postfix 中设置虚拟用户和邮箱。 在你看来这是有点奇怪,所以我尽量让下面的例子简单点。我们将使用纯文本文件和纯文本来进行身份验证。 你也可以选择使用数据库后端和较强的加密认证形式,具体请参阅文末链接了解有关这些的更多信息。
虚拟用户
我们希望邮件服务器上用的是虚拟用户而不是 Linux 系统用户。使用 Linux 系统用户不能扩展,并且它们会暴露系统登录账号,给你的服务器带来不必要的风险。 设置虚拟用户需要在 Postfix 和 Dovecot 中编辑配置文件。我们将从 Postfix 开始。首先,我们将从一个干净、简化的
/etc /postfix/main.cf
开始。移动你原始的到别处做个备份,创建一个新的干净的文件,内容如下:
compatibility_level=2smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu/GNU)biff = noappend_dot_mydomain = nomyhostname = localhostalias_maps = hash:/etc/aliasesalias_database = hash:/etc/aliasesmyorigin = $myhostnamemynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.0.0/24mailbox_size_LIMIT = 0recipient_delimiter = +inet_interfaces = allvirtual_mailbox_domains = /etc/postfix/vhosts.txtvirtual_mailbox_base = /home/vmailvirtual_mailbox_maps = hash:/etc/postfix/vmaps.txtvirtual_minimum_uid = 1000virtual_uid_maps = static:5000virtual_gid_maps = static:5000virtual_transport = lmtp:unix:private/dovecot-lmtp0
你可以直接拷贝这份文件,除了
mynetworks
参数的设置
192.168.0.0/24
,它应该是你的本地子网掩码。
接下来,创建用户和组来拥有你的虚拟邮箱。虚拟邮箱保存在的家目录下。
$ sudo groupadd -g 5000 vmail$ sudo useradd -m -u 5000 -g 5000 -s /bin/bash vmail
接下来重新加载 Postfix 配置:
$ sudo postfix reload[sudo] password for carla:postfix/postfix-script: refreshing the Postfix mail system
Dovecot 虚拟用户
我们会使用 Dovecot 的协议来连接到 Postfix。你可以这样安装:
$ sudo apt-get install dovecot-lmtpd
的最后一行涉及到。复制这个
/etc/dovecot/dovecot.conf
示例文件来替换已存在的文件。再说一次,我们只使用这一个文件,而不是
/etc/dovecot/conf.d
内的所有文件。
protocols = imap pop3 lmtplog_path = /var/log/dovecot.loginfo_log_path = /var/log/dovecot-info.logssl = nodisable_plaintext_auth = nomail_location = maildir:~/.Mailpop3_uidl_format = %gauth_verbose = yesauth_mechanisms = plainpassdb {driver = passwd-fileargs = /etc/dovecot/passwd}userdb {driver = staticargs = uid=vmail gid=vmail home=/home/vmail/studio/%u}service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp {group = postfixmode = 0600user = postfix}}protocol lmtp {postmaster_address = postmaster@studio}service lmtp {user = vmail}
最后,你可以创建一个含有用户和密码的文件
/etc/dovecot/passwd
。对于纯文本验证,我们只需要用户的完整邮箱地址和密码:
alrac@studio:{PLAIN}passwordlayla@studio:{PLAIN}passwordfred@studio:{PLAIN}passwordmolly@studio:{PLAIN}passwordbenny@studio:{PLAIN}password
Dovecot 虚拟用户独立于 Postfix 虚拟用户,因此你需要管理 Dovecot 中的用户。保存所有的设置并重启 Postfix 和 Dovecot:
$ sudo service postfix restart$ sudo service dovecot restart
现在让我们使用老朋友 telnet 来看下 Dovecot 是否设置正确。

$ telnet studio 110Trying 127.0.1.1...Connected to studio.Escape character is '^]'.+OK Dovecot ready.user molly@studio+OKpass password+OK Logged in.quit+OK Logging out.Connection closed by foreign host.
现在一切都好!让我们用命令,发送测试消息给我们的用户。确保使用用户的完整电子邮箱地址而不只是用户名。
$ mail benny@studioSubject: hello and welcome!Please enjoy your new mail account!.
最后一行的 英文句点 表示发送消息。让我们看下它是否到达了正确的邮箱。
$ sudo ls -al /home/vmail/studio/benny@studio/.Mail/newtotal 16drwx------ 2 vmail vmail 4096 Dec 14 12:39 .drwx------ 5 vmail vmail 4096 Dec 14 12:39 ..-rw------- 1 vmail vmail525 Dec 14 12:39 1481747995.M696591P5790.studio,S=525,W=540
找到了。这是一封我们可以阅读的纯文本文件:
$ less 1481747995.M696591P5790.studio,S=525,W=540Return-Path: Delivered-To: benny@studioReceived: from localhostby studio (Dovecot) with LMTP id V01ZKRuuUVieFgAABiesewfor ; Wed, 14 Dec 2016 12:39:55 -0800Received: by localhost (Postfix, from userid 1000)id 9FD9CA1F58; Wed, 14 Dec 2016 12:39:55 -0800 (PST)Date: Wed, 14 Dec 2016 12:39:55 -0800To: benny@studioSubject: hello and welcome!User-Agent: s-nail v14.8.6Message-Id: <20161214203955.9FD9CA1F58@localhost>From: carla@localhost (carla)Please enjoy your new mail account!
你还可以使用 telnet 进行测试,如本系列前面部分所述,并在你最喜欢的邮件客户端中设置帐户,如 Thunderbird,Claws-Mail 或 KMail。
故障排查
当邮件工作不正常时,请检查日志文件(请参阅配置示例),然后运行
journalctl -xe
。 这时会提供定位输入错误、未安装包和可以 Google 的短语等所有需要的信息。
接下来?
假设你的 LAN 名称服务配置正确,你现在有一台很好用的 LAN 邮件服务器。 显然,以纯文本发送消息不是最佳的,不支持互联网的邮件也是绝对不可以的。 请参阅 Dovecot SSL 配置和 Postfix TLS 支持,VirtualUserFlatFilesPostfix 涵盖了 TLS 和数据库后端。并请期待我之后的 SSL 指南。这次我说的是真的。
搭建邮件服务器的方法有哪些
邮件服务器有qmail、postfix,sendmail(unix,linux平台),MDaemon ,(win),lotus domino(多平台)。 真的建议不要用exchange,除非你非常精通。
如何在Ubuntu Kylin上安装Visual Studio Code
安装Visual Studio Code首先需要安装Ubuntu Make。 Ubuntu Make存在Ubuntu 15.04资源库中,但需要Ubuntu Make 0.7以上版本才能安装Visual Studio。 所以,需要通过官方PPA更新到最新的Ubuntu Make,支持Ubuntu 14.04、14.10和15.04,但仅64位版本。 打开终端,使用下列命令,通过官方PPA来安装Ubuntu Make:sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-makesudo apt-get updatesudo apt-get install ubuntu-make安装Ubuntu Make完后,接着使用下列命令安装Visual Studio Code:umake web visual-studio-code相关下载:Download Code for Linux Download Code for OS X第2页:安装Visual Studio Code 经过一系列要求和条件后,询问你是否确认安装Visual Studio Code。 输入“a”来确定:确定之后,安装程序会开始下载并安装。 安装完成后,可以发现Visual Studio Code图标已经出现在Unity启动器上。 卸载Visual Studio Code,同样使用Ubuntu Make命令。 如下:umake web visual-studio-code remove
linux系统如何配置dhcp服务器?
有些LINUX中是自带DHCP的,但有些是没有的,需要先安装DHCP的包。
DHCP服务器的配置文件为/etc/,默认情况下此文件不存在,当DHCP软件包安装之后会提供一个配置模板:/usr/share/doc/dhcp-版本号/
可以将这个文件复制到/etc目录下命名为
这个文件通常包括三部分:parameters(参数)、declarations(声明) 、option(选项)
这些与WIN下配置DHCP其实是一样的,只是因为是英文的,而且是以文本的形式的,所以一开始会感觉不是很习惯。
下面举个例子吧。
配置一台DHCP服务器,为100台主机分配地址,使用192.168.0.0/24网段,静态主机地址如下:默认网关:192.168.0.254DNS服务器:192.168.0.1邮件服务器:192.168.0.2DHCP服务器:192.168.0.254ddns-update-style none; //必须的subnet 192.168.0.0 netmask 255.255.255.0 {option routers 192.168.0.254; //默认网关option subnet-mask 255.255.255.0; //子网掩码option domain-name “”; //域名option domain-name-servers 192.168.0.1; //DNS服务器,必须是配置好的range 192.168.0.3 192.168.0.102;default-lease-time ; //租用时间,默认是秒,6小时max-lease-time ;//最大租用时间,默认是秒,12小时host ns {hardware ethernet 12:34:56:78:AB:CD;fixed-address 192.168.0.1;//邦定网卡的MAC地址和IP,注意MAC写法}host mail {hardware ethernet 12:34:56:78:CC:AB;fixed-address 192.168.0.2;}}
subnet 192.168.0.0 netmask 255.255.255.0 必须和自己主机的IP地址在一个范围内,不能为别的网段提供服务。range 192.168.0.3 192.168.0.102; //很关键,指定分配的地址池,这儿是从3开始的,排除了已使用的静态IP,如上面的DNS服务器的1和邮件服务器2等!
配置完毕后,启用DHCP服务就可以了。
service dhcpd start
发表评论