第一章(番外篇):局域网邮件服务搭建

番外篇之局域网邮件服务搭建

因为代码管理发布的服务,大部分都对邮件有着要求,更如gerrit这类,不填写邮件地址,使用还会存在问题。

但是这时候我又不想填写我的邮箱,所以这一篇就是搭建一个本地的邮件服务,以解决邮件验证的问题。

关于邮件相关的知识这里就不再多说了,这里安装它仅仅是为了解决邮件问题,只是一个最基本的搭建演示

yu

2020.12

一、环境准备

配置IP与yum源等均不再赘述

1、主机名配置

[root@node ~]# hostnamectl set-hostname node4


[root@node4 ~]# vi /etc/hosts
# 架构内的其他机器也都写上好了,便于解析(node4后面还要搭建其他服务)
192.168.80.151    node1
192.168.80.152    node2
192.168.80.153    node3
192.168.80.154    node4
192.168.80.151    local.gitlab.com
192.168.80.152    local.sonar.com
192.168.80.153    local.gerrit.com
192.168.80.154    local.cicdmail.com

二、安装postfix

[root@node4 ~]# yum -y install postfix

# 默认centos7是安装了postfix,如果是更早的系统,应该默认是sendmail,记得卸载或者关闭sendmail,以防止端口冲突

修改配置文件

[root@node4 ~]# cd /etc/postfix/

备份配置文件
[root@node4 postfix]# cp -a main.cf main.cf.bak

修改
==注意,我以下所有的修改都是复制原行再去掉注释进行修改,建议是这样做==
[root@node4 postfix]# vim main.cf

# 修改为邮件服务器的主机名,建议是FQDN(一般是本机hostname),这里其实可以理解为设置的邮件服务器的地址(域名)
 76 #myhostname = virtual.domain.tld
 77 myhostname = local.cicdmail.com

# 修改为邮件服务器的主机名,默认是$myhostname减去第一部分,这里其实就是设置的我们邮件@后面的域名部分
 84 #mydomain = domain.tld
 85 mydomain = cicdmail.com


# 发送设置
# myorigin设置为等同于$mydomain即可,这是为了保证收发地址一致
101 #myorigin = $mydomain
102 myorigin = $mydomain


# 接收设置
# 注释掉 inet_interfaces = localhost
119 #inet_interfaces = localhost  #因为我前面都是复制修改,所以这里如果前面不是和我一样的操作,肯定不是119行

# 指定此邮件系统接收邮件时的网络接口地址
116 #inet_interfaces = all
117 inet_interfaces = all

# 接收的IP类型,默认是all,也就是ipv4 ipv6都可以,所以这里修改或者不修改都行,我这里是注释掉all,复制一行修改为ipv4
123 #inet_protocols = all
124 inet_protocols = ipv4

# mydestination指定postfix收件时收件人的域名,这里默认启动的这条并不合适我们使用,注释掉,然后复制 mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain 这行,并启用,也就是使用 接收$mydomain,$myhostname等为域名的邮件
169 #mydestination = $myhostname, localhost.$mydomain, localhost  # 注释掉这行
170 #mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
171 mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain


# 这里是配置邮件服务器所在网络的网络地址(不含主机位),用来区别用户是远程还是本地,如果使用postfix的时候,IP是在该网络范围内的,就允许使用,如果嫌麻烦,可以设置0.0.0.0/0 (测试环境)
270 #mynetworks = 168.100.189.0/28, 127.0.0.0/8
271 mynetworks = 168.100.80.0/24, 127.0.0.0/8

# 指定邮箱文件相对于用户主目录路径,一般就两种,一个是在用户的家目录下创建Maildir目录,然后每封邮件存为一个文件,还有一种是在/var/mail/下对应用户,所有邮件存储为一个文件,我这里是在家目录下
426 #home_mailbox = Maildir/
427 home_mailbox = Maildir/


如果没有进阶配置,比如认证啊啥的,其他参数默认就行了,这个文件就算配置完成

校验

查看有没有语法错误
[root@node4 postfix]# postfix check

启动服务

[root@node4 ~]# systemctl restart postfix
[root@node4 ~]# systemctl enable postfix


此时,25号端口应该就已经启动了。或者可以ps -ef 过滤下postfix

三、安装 dovecot

[root@node4 ~]# yum install dovecot -y

配置

[root@node4 postfix]# cd /etc/dovecot/

备份一下配置文件
[root@node4 dovecot]# cp -a dovecot.conf dovecot.conf.bak
# 其实这个文件没啥好改的,默认也行,或者修改下   30 #listen = *, ::  也行,修改为  listen = *  就行,也就是只监听ipv4
 30 #listen = *, ::
 31 listen = *

[root@node4 dovecot]# cd conf.d/

备份下
[root@node4 conf.d]# cp -a 10-auth.conf 10-auth.conf.bak

[root@node4 conf.d]# vim 10-auth.conf
# 这个配置时禁用明文登录的意思,默认只允许ssl,但是我这里并不想配证书,所以我将其改为 no,启用未验证的登录
 10 #disable_plaintext_auth = yes
 11 disable_plaintext_auth = no

[root@node4 conf.d]# cp -a 10-ssl.conf 10-ssl.conf.bak

[root@node4 conf.d]# vim 10-ssl.conf
# 因为我不使用ssl,相应的,这里也把ssl关掉
  8 #ssl = required
  9 ssl = no


[root@node4 conf.d]# cp -a 10-mail.conf 10-mail.conf.bak

[root@node4 conf.d]# vim 10-mail.conf
# 配置一个收件箱文件夹,我们前面在postfix配置中是选的家目录下的Maildir,这里对应上
 24 #   mail_location = maildir:~/Maildir
 25     mail_location = maildir:~/Maildir


启动

[root@node4 ~]# systemctl start dovecot
[root@node4 ~]# systemctl enable dovecot


查看端口

[root@node4 ~]# ss -naltp|grep dovecot
[root@node4 conf.d]# ss -naltp|grep dovecot
LISTEN     0      100          *:110                      *:*                   users:(("dovecot",pid=27375,fd=25))
LISTEN     0      100          *:143                      *:*                   users:(("dovecot",pid=27375,fd=37))

四、测试

1、创建测试用户

[root@node4 conf.d]# useradd ops01 && echo  "123456" | passwd --stdin ops01
Changing password for user ops01.
passwd: all authentication tokens updated successfully.


[root@node4 conf.d]# useradd ops02 && echo  "123456" | passwd --stdin ops02
Changing password for user ops02.
passwd: all authentication tokens updated successfully.

2、使用foxmail等的客户端登录

推荐foxmail,有一些邮件APP登录这种自建邮件的情况,认证会有问题,还需额外配置

首先配置windows的hosts文件,完成域名解析

192.168.80.154   local.cicdmail.com

在这里插入图片描述

在这里插入图片描述

3、收发测试

ops01发送邮件给ops02

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值