Linux巩固篇015-Linux Postifx 与 Dovecot 部署邮件系统

简介: 纸上得来终觉浅,绝知此事要躬行

前言

身为一个三年的运维工程师,从开发转测开再转运维,都是不断学习的过程,未必开发才是最优秀的,找到适合自己的职业不断深耕,你也会在自己的行业大放光彩,本系列依照《Linux就该这么学》系列随书学习练习操作,将一些课本上不顺畅的地方,全部以最简方式免费开源展示给大家,资源大家可以自行百度,也希望大家多关注刘遄老师的第二版关于centos8的丛书,学习最前沿的Linux相关技术。

常用命令汇总

电子邮件系统

邮件协议

简单邮件传输协议(Simple Mail Transfer Protocol,SMTP):用于发送和中转发出 的电子邮件,占用服务器的 25/TCP 端口。

邮局协议版本 3(Post Office Protocol 3):用于将电子邮件存储到本地主机,占用服 务器的 110/TCP 端口。

Internet 消息访问协议版本 4(Internet Message Access Protocol 4):用于在本地主 机上访问邮件,占用服务器的 143/TCP 端口。

image.png

部署基础的电子邮件系统

image.png

1.配置服务器主机名称

[root@localhost named]# hostnamectl set-hostname "mail.linux.com"

[root@localhost named]# hostname

mail.linux.com

2.清空 iptables 防火墙默认策略

iptables -F

3.为电子邮件系统提供域名解析(从安装dns开始,加黑色字体为修改或添加部分,请自行甄别,加省略号的是保持上述内容,额外添加,不是直接都删了加省略号,本台服务器IP为192.168.227.136

[root@localhost named]#  yum install bind-chroot -y

[root@localhost named]#  vim /etc/named.conf

...

options {

       listen-on port 53 { any; };

       listen-on-v6 port 53 { ::1; };

       directory       "/var/named";

       dump-file       "/var/named/data/cache_dump.db";

       statistics-file "/var/named/data/named_stats.txt";

       memstatistics-file "/var/named/data/named_mem_stats.txt";

       recursing-file  "/var/named/data/named.recursing";

       secroots-file   "/var/named/data/named.secroots";

       allow-query     { any; };

...

[root@localhost named]#  vim /etc/named.rfc1912.zones

...

zone "linux.com" IN {

type master;

file "linux.com.zone";

allow-update {none;};

};

[root@localhost named]#   cd /var/named/

[root@localhost named]#  cp -a named.localhost linux.com.zone

[root@localhost named]#  vim linux.com.zone  

$TTL 1D

@       IN SOA  linux.com.root.liunx.com.zone. (

                                       0       ; serial

                                       1D      ; refresh

                                       1H      ; retry

                                       1W      ; expire

                                       3H )    ; minimum

       NS     ns.linux.com.

ns      IN A    192.168.227.136

@       IN MX 10        mail.linux.com.

mail    IN A    192.168.227.136

[root@localhost named]#   systemctl restart named

[root@localhost named]#   systemctl enable named

[root@localhost named]#  vi /etc/resolv.conf  

search linux.com

nameserver 192.168.227.136

[root@localhost named]#  vi /etc/sysconfig/network-scripts/ifcfg-ens33

...

PEERDNS=no

DNS1=192.168.227.136

[root@localhost named]#  systemctl restart network

配置 Postfix 服务程序

1.安装 Postfix 服务程序

[root@localhost named]#  yum install postfix -y

2.配置 Postfix 服务程序

image.png

[root@localhost named]#  vim /etc/postfix/main.cf

以下需要添加五处对应参数配置

image.png

image.png

...

myhostname = mail.linux.com

...

mydomain = linux.com

...

myorigin = $mydomain

...

inet_interfaces = all

...

mydestination = $myhostname,$mydomain

...

3.创建电子邮件系统的登录账户

[root@localhost named]#  useradd boss

[root@localhost named]#  echo "linux" | passwd --stdin boss

[root@localhost named]#  systemctl restart postfix

[root@localhost named]#  systemctl enable postfix

创建电子邮件系统的登录账户

1.安装 Dovecot 服务程序软件包

[root@localhost named]#   yum install dovecot -y

2.配置部署 Dovecot 服务程序

[root@localhost named]#  vim /etc/dovecot/dovecot.conf

image.png

...

protocols = imap pop3 lmtp

disable_plaintext_auth = no

...

login_trusted_networks = 192.168.227.0/24 # 设置允许登录的网段地址

...

3.配置邮件格式与存储路径

[root@localhost named]#  vim /etc/dovecot/conf.d/10-mail.conf

image.png

...

  mail_location = mbox:~/mail:INBOX=/var/mail/%u

...

[root@localhost named]# su - boss

[boss@localhost ~]$ mkdir -p mail/.imap/INBOX

[boss@localhost ~]$ exit

logout

[root@localhost named]# systemctl restart dovecot

[root@localhost named]# systemctl enable dovecot

Created symlink from /etc/systemd/system/multi-user.target.wants/dovecot.service to /usr/lib/systemd/system/dovecot.service.

测试电子邮件系统

1.Windows 7 系统部署

阿里云盘outlook+iso https://www.aliyundrive.com/s/sP48YMzaAww 提取码: iz36

如果iso无法使用将下方链接放到迅雷下载中下载iso

ed2k://|file|cn_windows_7_enterprise_with_sp1_x64_dvd_u_677685.iso|3265574912|E9DB2607EA3B3540F3FE2E388F8C53C4|/

下载完毕后新建虚拟机即可

安装途中需要产品秘钥

J8D39-J2WM3-6368H-JV8G9-BYJJQ

image.png

2.安装outlook软件

关闭虚拟机,打开虚拟机设置,将CD和软盘改为自动

image.png

开机,然后打开安装vm tool

image.png

开始安装

image.png

等待一会选择经典安装

image.png

出现了如下报错,是因为版本问题导致驱动无法在线安装,我们加一个补丁

image.png

我们在虚拟机上下载一下补丁,现在虚拟机还不能上网,我们调一下,dns是宿主机ip

image.png

然后输入如下网址,下载补丁并且安装,并且重启

http://res.extapps.com/patch/w7/kb4474419_extapps.com.zip

image.png

继续重复安装点击左上角虚拟机,和上边步骤一样

image.png

完成安装并且重启

image.png

添加相关共享文件,然后重启,把outlook放到里边去

image.png

在网络中心查看并提取压缩文件

image.png

点击setup安装,安装完毕后打开outlook2010

image.png

下一步并添加账户,相关信息是上边服务器的信息

boss

boss@linux.com

linux

linux

image.png

修改dns,改为服务器ip:192.168.227.136

image.png

建立连接状态

image.png

完成验证

image.png

向其他信箱发送邮件

image.png

切换回邮箱服务器服务器

[root@localhost named]# mail

Heirloom Mail version 12.5 7/5/10.  Type ? for help.

"/var/spool/mail/root": 1 message 1 new

>N  1 boss                  Tue Jul  4 01:41  95/3028  "测试"

& 1

Message  1:

From boss@linux.com  Tue Jul  4 01:41:59 2023

Return-Path:

X-Original-To: root@linux.com

Delivered-To: root@linux.com

From: "boss"

To:

Subject: 测试

Date: Tue, 4 Jul 2023 16:41:59 +0800

Content-Type: multipart/alternative;

boundary="----=_NextPart_000_0001_01D9AE96.73ED28B0"

X-Mailer: Microsoft Outlook 14.0

Thread-Index: AdmuU0U8uXxpOTL1T2WDNZd2KPndEQ==

Content-Language: zh-cn

Status: R

Content-Type: text/plain;

charset="gb2312"

测试成功

image.png

设置用户别名信箱

用户别名功能是一项简单实用的邮件账户伪装技术,可以用来设置多个虚拟信箱的账户 以接受发送的邮件,从而保证自身的邮件地址不被泄露

用bin发一个

image.png

服务器收到信息

[root@localhost named]# mail

Heirloom Mail version 12.5 7/5/10.  Type ? for help.

"/var/spool/mail/root": 2 messages 1 new

   1 boss                  Tue Jul  4 01:41  96/3039  "测试"

>N  2 boss                  Tue Jul  4 01:52  96/3026  "bin"

这是因为我们所有的用户都在文件里存放,设置为root用户收,这时我们发现在root用户下也可以收到信息,用户别名可以是 Linux 系统内的本地用户,也可以 是完全虚构的用户名字,我们设置一个新的名字(加粗)

[root@localhost named]# cat /etc/aliases

#

#  Aliases in this file will NOT be expanded in the header from

#  Mail, but WILL be visible over networks or from /bin/mail.

#

# >>>>>>>>>> The program "newaliases" must be run after

# >> NOTE >> this file is updated for any changes to

# >>>>>>>>>> show through to sendmail.

#

# Basic system aliases -- these MUST be present.

mailer-daemon: postmaster

postmaster: root

# General redirections for pseudo accounts.

weihongbin: root

bin:  root

执行以下命令生效

[root@localhost named]# newaliases

我们用客户端再发一封关于weihongbin用户的邮件

image.png

再往服务器上查询(加粗为相关新邮件)

[root@localhost named]# mail

Heirloom Mail version 12.5 7/5/10.  Type ? for help.

"/var/spool/mail/root": 3 messages 1 new 2 unread

   1 boss                  Tue Jul  4 01:41  96/3039  "测试"

U  2 boss                  Tue Jul  4 01:52  97/3036  "bin"

>N  3 boss                  Tue Jul  4 01:58 170/6875  "转发: 测试魏红斌"

结语

简问简答

1.电子邮件服务与 HTTP、FTP、NFS 等程序的服务模式的最大区别是什么?

答:当对方主机宕机或对方临时离线时,使用电子邮件服务依然可以发送数据。

2.常见的电子邮件协议有那些? 答:SMTP、POP3 和 MAP4。

3.电子邮件系统中 MUA、MTA、MDA 三种服务角色的用途分别是什么?

答:MUA 用于收发邮件、MTA 用于转发邮件、MDA 用于保存邮件。

4.使用 Postfix 与 Dovecot 部署电子邮件系统前,需要先做什么?

答:需要先配置部署 DNS 域名解析服务,以便提供信箱地址解析功能。

5.能否让 Dovecot 服务程序限制允许连接的主机范围?

答:可以,在 Dovecot 服务程序的主配置文件中修改 login_trusted_networks 参数值即可, 这样可在不修改防火墙策略的情况下限制来访的主机范围。

6.使用 Outlook 软件连接电子邮件服务器的地址 mail.linux.com 时,提示找不到服务器 或连接超时,这可能是什么原因导致的呢?

答:很有可能是 DNS 域名解析问题引起的连接超时,可在服务器与客户端分别执行 ping  mail.linux.com 命令,测试是否可以正常解析出 IP 地址。

7.如何定义用户别名信箱以及让其立即生效?

答:可直接修改邮件别名服务的配置文件,并在保存退出后执行 newaliases 命令即可让新 的用户别名立即生效。

如果想根据教程实践的朋友们可以通过阿里云ecs服务器免费试用和低价购买,入口如下

入口一:新人免费试用

入口二:大学生免费试用

入口三:低价服务器购买

入口四:低价服务器购买2

入口五:建站特惠购买











目录
相关文章
|
8天前
|
存储 移动开发 Linux
Linux系统之部署h5ai目录列表程序
【5月更文挑战第3天】Linux系统之部署h5ai目录列表程序
21 1
|
24天前
|
SQL 关系型数据库 MySQL
Linux系统部署Yearning SQL审核平台结合内网穿透实现公网访问
Linux系统部署Yearning SQL审核平台结合内网穿透实现公网访问
|
5天前
|
关系型数据库 MySQL Linux
在Linux系统上实现高效安装与部署环境的全方位指南
在Linux系统上实现高效安装与部署环境的全方位指南
|
5天前
|
Linux 测试技术 网络安全
Linux系统之部署2048网页小游戏
【5月更文挑战第5天】Linux系统之部署2048网页小游戏
23 0
Linux系统之部署2048网页小游戏
|
5天前
|
前端开发 Java Linux
宝塔Linux:部署His医疗项目通过jar包的方式
宝塔Linux:部署His医疗项目通过jar包的方式
|
6天前
|
前端开发 Java 关系型数据库
2023全网最详细的若依开源项目部署,将其部署到Linux操心系统中
2023全网最详细的若依开源项目部署,将其部署到Linux操心系统中
|
6天前
|
运维 监控 Linux
如何在Linux上部署1Panel运维管理面板并远程访问内网进行操作
如何在Linux上部署1Panel运维管理面板并远程访问内网进行操作
15 0
如何在Linux上部署1Panel运维管理面板并远程访问内网进行操作
|
7天前
|
存储 安全 Linux
linux centos7中使用 Postfix 和Dovecot搭建邮件系统
linux centos7中使用 Postfix 和Dovecot搭建邮件系统
|
8天前
|
安全 Linux 网络安全
Linux _ apache服务器部署 不同域名—访问不同网站(多网站)
Linux _ apache服务器部署 不同域名—访问不同网站(多网站)
|
13天前
|
存储 Linux 文件存储
Linux使用Docker部署Traefik容器并实现远程访问管理界面-1
Linux使用Docker部署Traefik容器并实现远程访问管理界面