【测试环境搭建】虚拟机搭建内网SMTP服务器

在测试BMC的邮箱告警功能时,需要搭建SMTP服务器环境,验证BMC的告警日志能够发送到指定的邮箱服务器。测试同事常常因为SMTP服务器环境问题而报bug。为了避免环境不一致和测试方法问题重复报bug,打算把在内网搭建SMTP服务器的过程整理一下,提高工作效率。
因为开发过程中使用的是Linux系统,首先通过查找资料研究了一下在Linux系统下搭建的过程。接着又尝试通过虚拟机安装Windows,在Windows系统下搭建,也获得了成功。下面分别分享一下这两种方式。

一 在Linux环境下搭建

1.1 设置hostname
使用hostname –f查看当前hostname
使用命令hostnamectl set-hostname 设置为域名
如:hostnamectl set-hostname lhy.mail.com
设置后执行reboot

1.2 安装配置postfix

sudo apt-get update
sudo apt-get install postfix –y

安装过程中弹出如下选项,选择Internet Site

在这里插入图片描述

使用netstat来查看Postfix的监听情况:

sudo netstat -lnpt

Postfix的master进程监听TCP 25号端口。

在这里插入图片描述

执行 sudo nmap <your-server-ip> 命令,确保25号端口是开放的。

在这里插入图片描述

编辑配置文件:gedit /etc/postfix/main.cf
取消注释并设置myhostname、mydomain、myorigin、inet_interfaces、inet_protocols、mydestination
参照hostname设置,内容如下:

myhostname = lhy.mail.com
mydomain = mail.com
myorigin = $mydomain
inet_interfaces = all
inet_protocols = ipv4
mydestination = $myhostname, $mydomain

启动postfix服务:

systemctl start postfix
systemctl enable postfix

1.3 安装配置dovecot
安装:

sudo apt-get install dovecot-common dovecot-imapd dovecot-pop3d

编辑配置文件:

apt-get install dovecot-common dovecot-imapd dovecot-pop3d

取消注释并配置

listen = *
protocols = pop3 imap
mail_location = maildir:/home/%u/Maildir
pop3_uidl_format = %08Xu%08Xv
disable_plaintext_auth = no

编辑配置文件:

sudo gedit /etc/dovecot/conf.d/10-master.conf

注释文件中的以下几行

#unix_listener auth-userdb {
#mode = 0600
#user =
#group =
#}

并确保未注释以下内容:

# Postfix smtp-auth
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}

编辑配置文件:

sudo gedit /etc/postfix/main.cf

为了使Dovecot服务与Postfix服务一起使用,我们需要在Postfix配置文件中添加以下几行:

smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks, reject_unauth_destination
broken_sasl_auth_clients = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth

重启服务:

root@mail:$ /etc/init.d/postfix restart
root@mail:$ /etc/init.d/dovecot restart

简单测试:

telnet local host 143

在这里插入图片描述

telnet local host 110

在这里插入图片描述

1.4 安装配置dnsmasq
Ubuntu 18.04附带了systemd-resolve,需要禁用它,因为它绑定到53端口,与Dnsmasq端口冲突。
运行以下命令以禁用已解析的服务:

systemctl disable systemd-resolved
systemctl stop systemd-resolved

安装dnsmasq:

apt-get install dnsmasq

在hosts文件中增加 本地IP到域名映射

root@mail:$ vim /etc/hosts
192.168.254.128 mail.coodyz.com # `192.168.254.128`更改为Ubuntu本机局域网IP

启动服务:

root@mail:$ /etc/init.d/dnsmasq start

将服务器的DNS服务器指向Dnsmasq服务器:

sudo gedit /etc/resolv.conf
nameserver 127.0.0.1//主要增加此一条
nameserver 8.8.8.8

以上只是修改运行时文件,进行持久配置需编辑/etc/network/interfaces。
通过adduser命令添加用户,增加的用户即为邮箱账户

1.5 SMTP功能测试
在BMC页面配置上面的SMTP服务器地址与邮箱账户地址,点击测试

在这里插入图片描述在这里插入图片描述

在/var/mail下查看不同账户收到的邮件,如root;可以通过
postconf mail_spool_directory查看邮件存放位置
在这里插入图片描述

二 在Windows环境下搭建

由于使用的开发环境为Linux,是通过在Linux下安装Windows虚拟机来实现的。

2.1 虚拟机Windows安装

在Linux下使用sudo apt-get install virtualbox安装虚拟机软件
另外发现HP笔记本需要进Bios选项->先进,把配置传统支持和安全引导改为禁用安全引导,否则ubuntu18.04运行虚拟机软件异常。
在这里插入图片描述
根据实际安装win10虚拟机后,点击设备->安装增强功能,在Windows虚拟机下会出现CD驱动器选项,打开后根据安装的系统,选择增强功能的安装文件。

在这里插入图片描述

在这里插入图片描述在这里插入图片描述
安装后在设备选项中选择拖放->双向,即可通过主机向虚拟机拖拽传送文件

在这里插入图片描述

2.2 hMailServer安装配置
下载hMailServer安装包,双击运行,选择内置数据库,设置一次密码,其余一路next安装

在这里插入图片描述
在这里插入图片描述
安装后打开hMailServer,点击connect连接本地的服务

在这里插入图片描述

提示输入密码,该密码是我们上面设置的密码,输入后点击ok

在这里插入图片描述

进入后,首先需添加一个邮件主体名称,点击Add Domain

在这里插入图片描述

设置一个符合标准的域名即可,如test.com

在这里插入图片描述

接下来添加账号,点击Domains,然后点击上面设置的域名,下面的Accounts,进入后点击右侧的Add,添加账号。
输入账号名称,和密码,名称我们可以自定义,这里创建的账号就是邮箱账号,账号和密码就是登录邮箱的账号密码。

在这里插入图片描述

可以设置两个不同的账户,用于测试。
2.3 foxmail安装配置
下载安装后,打开,点击其他邮箱,手动配置

在这里插入图片描述

在这里插入图片描述

输入上面创建的账号,服务器地址填写本机地址127.0.0.1

在这里插入图片描述

2.4 绑定域名
虚拟机网络设置中选择桥接网卡,通过ipconfig查看虚拟机IP地址

在这里插入图片描述

找到C:\windows\system32\drivers\etc\hosts,以管理员身份运行,加入注册的域名,如:
100.2.74.26 test.com(或另存为hosts.txt,重命名去掉后缀,替换上面的文件)

在这里插入图片描述

2.5 SMTP功能测试
在BMC页面配置上面的SMTP服务器地址与邮箱账户地址,点击测试

在这里插入图片描述在这里插入图片描述

在foxmail应用中,进入账户收件箱,点击左上角收取,查看接收的邮件(也可以在邮箱设置中设置为自动收信)

在这里插入图片描述

2.6 邮箱服务器开启SSLTLS
BMC邮箱告警支持SSLTLS功能,验证该功能也需要SMTP服务器支持SSLTLS。这里对于Windows环境下,使用stunnel软件提供支持。
使用stunnel软件提供SSL支持。下载stunnel: http://www.stunnel.org
安装stunnel,默认下一步即可
启动stunnel,点击Configuration->Edit Configuration
在这里插入图片描述在配置文件中注释掉以下内容:
在这里插入图片描述
在这里插入图片描述

以下内容取消注释:
在这里插入图片描述
在这里插入图片描述

点击Reload Configuration,重新启动stunnel
在Foxmail中,设置账号-服务器中的两个SSL勾选框为勾选

在这里插入图片描述
在这里插入图片描述

点击应用,确定。
设置完成后,可以在BMC端开启SSLTLS进行SMTP测试。

  • 36
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值