CentOS7.2部署邮件服务器(sendmail)

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: CentOS7.2部署邮件服务器(sendmail)

实验要求:为了能够实际部署一个的电子邮件系统,需要使用到下面的软件:1)Sendmail:实现邮件的接收和中转,即SMTP;2)Dovecot:实现邮件的收取,即POP3和IMAP;3)Foxmail:客户端收发邮件的工具。硬件上需要两台主机:一台Linux主机,同时安装邮件服务器软件Sendmail、Dovecot和DNS服务器软件bind;一台Windows 7主机(192.168.100.12)作为电子邮件用户端,安装软件Foxmail。
注意事项:此次仅作为实验进行参考,所以关闭SELinux和firewalld,使得步骤更加精简
由于此次实验为最小化的centos,所以并无某些服务组件,提前在此处提出,并安装

#yum -y install vim net-tools telnet

安装并开启sendmail和Dovecot服务

1、安装sendmail服务以及相关组件

yum -y install sendmail* m4

在这里插入图片描述

postfix的产生是为了替代传统的sendmail.相较于sendmail,postfix在速度。性能和稳定性上都更胜一筹,由于linux中自带了postfix,为了postfix和sendmail两者间不产生冲突,需要切换MTA(mail transter agent,即邮件传输代理),禁用postfix,执行如下命令

alternatives --config mta //请按 2

显示内容如下
There are 2 programs which provide 'mta'. //共有 2 个提供“mta”的程序。

  Selection    Command
   1           /usr/sbin/sendmail.postfix
*+ 2           /usr/sbin/sendmail.sendmail
AI 代码解读

在这里插入图片描述

开启sendmail服务,设置开机自启,并禁用postfix服务

systemctl start sendmail

systemctl enable sendmail

systemctl mask postfix

在这里插入图片描述

2、安装dovecot服务,启动,并设置开机自启

yum -y install dovecot

systemctl start dovecot

systemctl enable dovecot


在这里插入图片描述

配置SMTP邮件服务器Sendmail

实验要求:在部署一台Sendmail服务器,为公司网络内部的客户端计算机提供邮件收发服务,具体参数要求如下:DNS域名为fl.com;DNS服务器IP地址为192.168.100.252;Sendmail服务器IP地址为192.168.100.20;Sendmail服务器MX记录为mail.cqcetli.net;公司网络为192.168.100.0/24;能够给公司全体员工群发邮件。

设置邮件服务器IP(本机ip:192.168.100.20)以及,DNS服务器IP 192.168.100.21
添加DNS服务器IP地址:
先安装net-tools

yum -y install net-tools

ifconfig eth0:1 192.168.100.21/24

在这里插入图片描述

安装DNS服务器

yum -y install bind*

编辑DNS服务器配置文件

vi /etc/named.conf

listen-on port 53 { 192.168.100.21; };
allow-query { any; };
在这里插入图片描述

编辑DNS正向解析文件

vi /etc/named.rfc1912.zones

在末尾添加
zone "fl.com" IN { //域自定义

    type master;
    file "fl.com.zone";//域解析文件名自定义,需要和后面的解析文件相对应
    allow-update { none; };
AI 代码解读

};

cd /var/named

cp -p named.localhost fl.com.zone

vi fl.com.zone //格式请以截图为准,由于排版模式,以下代码排版出现问题

$TTL 1D
@ IN SOA dns.fl.com. root.fl.com. (

                                    0       ; serial
                                    1D      ; refresh
                                    1H      ; retry
                                    1W      ; expire
                                    3H )    ; minimum
AI 代码解读

@ IN NS dns.fl.com.
dns IN A 192.168.100.21
mail IN A 192.168.100.20
@ IN MX 10 mail.fl.com.
在这里插入图片描述

重启DNS服务器

在这里插入图片描述

编辑DNS文件

vi /etc/resolv.conf

添加如下内容:
nameserver 192.168.100.21
在这里插入图片描述

验证邮件交换器设置:

host -t mx fl.com

在这里插入图片描述

测试DNS解析

nslookup -q=mx fl.com

在这里插入图片描述

nslookup dns.fl.com

在这里插入图片描述

修改sendmail.mc并重新生成sendmail.cf,修改/etc/mail/sendmail.mc,
将DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA') dnl和
LOCAL_DOMAIN(`localhost.localdomain')dnl指定邮件服务器的侦听地址范围以及邮件服务器所在的本地域,也可以设置为0.0.0.0表示侦听所有IP地址。

vi /etc/mail/sendmail.mc

在这里插入图片描述

**第118行和157行
请注意,这里的192.168.100.20为你的邮件服务器IP,也就是本机IP,并非DNS服务器IP**

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

将文件写入

m4  /etc/mail/sendmail.mc  >  /etc/mail/sendmail.cf
AI 代码解读

在这里插入图片描述
修改access文件设置邮件中继

vi /etc/mail/access

在这里插入图片描述

添加如下内容
fl.com RELAY
mail.fl.com RELAY
192.168.100.0/24 RELAY
在这里插入图片描述

将文件写入access.db
在这里插入图片描述
修改local-host-names文件
vi /etc/mail/local-host-names
在这里插入图片描述

添加如下内容:
fl.com
mail.fl.com在这里插入图片描述

修改host文件

vi /etc/hosts

在这里插入图片描述

添加如下内容:
192.168.100.20 base mail.fl.com
在这里插入图片描述

修改/etc/aliases设置群发别名

vi /etc/aliases

添加如下内容:可在配置文件末尾添加
test:fl,fly //此处test为用户组,fl和fly为用户
在这里插入图片描述

再执行

newaliases

在这里插入图片描述

重启sendmail服务进行生效
在这里插入图片描述
创建邮件用户,此处使用密码为 000000

groupadd test

useradd fl -g test -s /sbin/nologin

useradd fly -g test -s /sbin/nologin

passwd fl

passwd fly

在这里插入图片描述

测试发送Sendmail邮件
先安装telnet命令

yum -y install telnet

telnet 192.168.100.20 25

键入如下内容:

helo mail.fl.com

mail from:"test"root@fl.com //设置邮件主题是test,发件人是root@fl.com

rcpt to:fly@fl.com //设置收件人地址是fl@fl.com

data //data表示开始写邮件的内容。

This is a test mail. //邮件内容的正文。

. //这里的点号表示邮件正文结束。

在这里插入图片描述

mailq //检查所传送的电子邮件是否送出或滞留在邮件服务器中。

在这里插入图片描述

修改Dovecot程序主配置文件

vi /etc/dovecot/dovecot.conf

第24行,30行,33行,48行
protocols = imap pop3 lmtp //支持的邮局协议,第24行
listen = 192.168.100.20, :: //设置dovecot监听的邮件服务器IP地址,默认为所有地址,第30行。
base_dir = /var/run/dovecot/ //设置存储dovecot运行时数据的目录,第33行。
login_trusted_networks = 192.168.100.0/24 //允许登录的网段地址,0.0.0.0/0为全部允许,第48行。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
配置邮件的格式与存储路径

vi /etc/dovecot/conf.d/10-mail.conf

第25行,去掉前面注释,并顶格
在这里插入图片描述

/var/mail/文件夹下的文件默认权限为0660,需要修改为0600

chmod 0600 /var/mail/*

在这里插入图片描述

systemctl restart dovecot //重启dovecot服务在这里插入图片描述

配置邮件客户端并收发邮件
使用Linux邮件客户端
1、修改/etc/resolv.conf,添加配置行“nameserver 192.168.100.21”,指定DNS服务器为192.168.100.21
在这里插入图片描述
安装 mailx

yum -y install mailx

编辑mail配置文件

vi /etc/mail.rc

添加如下内容
set from=fl@fl.com
set smtp=mail.fl.com
set smtp-auth-user=fl@fl.com
set smtp-auth-password=000000
在这里插入图片描述

使用mail命令给用户发送邮件

mail fly@fl.com

Subject: hello //输入邮件主题。
test
@@@@@@@
EOT //按CTR+D键退出内容编辑。

此处会直接提示发信失败,似乎是一个bug,又或者是我哪里出问题,查阅了国内外对此问题的描述,并未给出正面解决方案,如果有解决的,请在文章末尾留言回复

请直接跳到windows发信部分,发信之后,再进行下一步:mail命令接受邮件

使用mail命令接收邮件,请先执行windows收发邮件测试

mail -u fly

Heirloom Mail version 12.5 7/5/10.  Type ? for help.
"/var/mail/fly": 2 messages 1 new
    1 "fl-testmail"root@fl  Fri Jun 21 20:18  14/513   
>N  2 fly@fl.com            Fri Jun 21 20:37  42/1525  "群发测试"
& t 1              //请输入 t 1 查看第一条。t 2查看第二条“42/1525”表示邮件的行号和字符数。“N”表示新邮件。
Message  1:
From "fl-testmail"root@fl.com  Fri Jun 21 20:18:03 2019
Return-Path: <"fl-testmail"root@fl.com>
Date: Fri, 21 Jun 2019 20:16:14 -0400
From: "fl-testmail"root@fl.com
X-IMAPbase: 1561163143 0000000001
X-UID: 1                                                 
Status: RO

this is a test mail from fly

& t 2
Message  2:
From fly@fl.com  Fri Jun 21 20:37:00 2019
Return-Path: <fly@fl.com>
Date: Fri, 21 Jun 2019 23:37:00 +0800
From: "fly@fl.com" <fly@fl.com>
To: test <test@fl.com>
Cc: test <test@fl.com>
Subject: 群发测试
X-Priority: 3
X-Has-Attach: no
X-Mailer: Foxmail 7.2.11.303[cn]
Content-Type: multipart/alternative;
        boundary="----=_001_NextPart785125888636_=----"
Status: R

Content-Type: text/plain;
        charset="GB2312"


this is a group test from fly


fly@fl.com
AI 代码解读

在这里插入图片描述

配置Windows邮件客户端并收发邮件

Windows 7 需要添加一张和linux处于同一网段的网卡,并确定Winodws 7 虚拟主机和Linux虚拟主机之间能够互通
在这里插入图片描述

进入foxmail官网下载foxmail
https://www.foxmail.com/
在这里插入图片描述

安装fixmail
在这里插入图片描述

双击打开,选择其他邮箱
在这里插入图片描述

选择手动设置
在这里插入图片描述

设置相关选项
在这里插入图片描述
**编辑WIN7和Linux使用相同的一张网卡的具体配置VM1,这里的win7系统使用IP地址192.168.100.12,此处的IP地址自行设置,不要冲突就行
设置完之后请进行linux和windows的ping测试,以确保2者网络互通**
若不通,请更换windows7的IP地址
建议在设置之后,请在windows7上面使用nslookup命令对Linux的DNS服务器进行测试

nslookup mail.fl.com
以确保你的Windows 7 虚拟机能够解析到 mail服务器
在这里插入图片描述

点击创建
在这里插入图片描述

可以重复以上步骤登陆第二个账号fl@fl.com

邮件群发测试
以fly@fl.com向test@fl.com发送一封群发测试邮件
再使用fl@fl.com测试接收邮件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

目录
打赏
0
0
0
0
5189
分享
相关文章
告别服务器繁忙,云上部署DeepSeek
本文以 DeepSeek-R1-Distill-Qwen-32B-FP8 为例,向您介绍如何在GPU实例上使用容器来部署量化的 DeepSeek-R1 蒸馏模型。
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
Node.js 是一种高效的 JavaScript 运行环境,基于 Chrome V8 引擎,支持在服务器端运行 JavaScript 代码。本文介绍如何在阿里云上一键部署 Node.js 环境,无需繁琐配置,轻松上手。前提条件包括 ECS 实例运行中且操作系统为 CentOS、Ubuntu 等。功能特点为一键安装和稳定性好,支持常用 LTS 版本。安装步骤简单:登录阿里云控制台,选择扩展程序管理页面,安装 Node.js 扩展,选择实例和版本,等待创建完成并验证安装成功。通过阿里云的公共扩展,初学者和经验丰富的开发者都能快速进入开发状态,开启高效开发之旅。
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
在阿里云ECS上一键部署DeepSeek-R1
Open WebUI 和 Ollama 的联合,通过集成 DeepSeek-R1 的强大功能,赋予每一位用户使用尖端 AI 技术的能力,使得复杂的 AI 技术不再是遥不可及的梦想。无论是研究人员、开发者,还是企业用户,您都能从这一创新中获得新的灵感和增长点。本文介绍通过计算巢一键部署和使用DeepSeek-R1。
在阿里云ECS上一键部署DeepSeek-R1
轻松部署翼龙面板社区版:您的游戏服务器管理新体验
翼龙面板(Pterodactyl)社区版正是为此而生,它通过强大的开源技术栈(PHP、React 和 Go)和可靠的安全设计,让游戏服务器管理变得简单而高效。本文将带您通过阿里云计算巢快速部署翼龙面板社区版,尽享流畅的管理体验。
轻松部署翼龙面板社区版:您的游戏服务器管理新体验
Spring Boot 两种部署到服务器的方式
本文介绍了Spring Boot项目的两种部署方式:jar包和war包。Jar包方式使用内置Tomcat,只需配置JDK 1.8及以上环境,通过`nohup java -jar`命令后台运行,并开放服务器端口即可访问。War包则需将项目打包后放入外部Tomcat的webapps目录,修改启动类继承`SpringBootServletInitializer`并调整pom.xml中的打包类型为war,最后启动Tomcat访问应用。两者各有优劣,jar包更简单便捷,而war包适合传统部署场景。需要注意的是,war包部署时,内置Tomcat的端口配置不会生效。
267 17
Spring Boot 两种部署到服务器的方式
阿里云出手了,基于百炼一键部署DeepSeek满血版,告别服务器繁忙1
阿里云百炼平台推出一键部署DeepSeek-R1满血版671B模型,提供100万免费Token,无需编码,新手5分钟内即可完成部署。通过Chatbox客户端配置API,轻松实现模型调用,解决服务器繁忙问题,支持自动弹性扩展,降低硬件成本。详情及教程见阿里云百炼官网。
DeepSeek服务器繁忙?拒绝稍后再试!基于阿里云PAI实现0代码一键部署DeepSeek-V3和DeepSeek-R1大模型
阿里云PAI平台支持零代码一键部署DeepSeek-V3和DeepSeek-R1大模型,用户可轻松实现从训练到部署再到推理的全流程。通过PAI Model Gallery,开发者只需简单几步即可完成模型部署,享受高效便捷的AI开发体验。具体步骤包括开通PAI服务、进入控制台选择模型、一键部署并获取调用信息。整个过程无需编写代码,极大简化了模型应用的门槛。
177 7
云上体验最佳的服务器操作系统 - Alibaba Cloud Linux | 飞天技术沙龙-CentOS 迁移替换专场
本次方案的主题是云上体验最佳的服务器操作系统 - Alibaba Cloud Linux ,从 Alibaba Cloud Linux 的产生背景、产品优势以及云上用户使用它享受的技术红利等方面详细进行了介绍。同时,通过国内某社交平台、某快递企业、某手机客户大数据业务 3 大案例,成功助力客户实现弹性扩容能力提升、性能提升、降本增效。 1. 背景介绍 2. 产品介绍 3. 案例分享
MongoDB主备副本集方案:两台服务器使用非对称部署的方式实现高可用与容灾备份
在资源受限的情况下,为了实现MongoDB的高可用性,本文探讨了两种在两台服务器上部署MongoDB的方案。方案一是通过主备身份轮换,即一台服务器作为主节点,另一台同时部署备节点和仲裁节点;方案二是利用`priority`设置实现自动主备切换。两者相比,方案二自动化程度更高,适合追求快速故障恢复的场景,而方案一则提供了更多的手动控制选项。文章最后对比了这两种方案与标准三节点副本集的优缺点,指出三节点方案在高可用性和数据一致性方面表现更佳。
242 5
目录
目录
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等