邮件服务器部署

目录

介绍

资源列表

基础环境

关闭防火墙

关闭内核安全机制

修改主机名

一、部署DNS服务器

mail节点操作

修改DNS地址

二、部署postfix和dovecot

安装软件包

修改postfix配置文件

重启postfix服务和开机自启

修改dovecot配置文件

重启dovecot服务和开机自启

创建邮件用户及存放目录

三、发送邮件测试

Windows安装foxmail

使用foxmail登录邮箱


介绍

  • 20 世纪 60 年代,美苏两国正处于冷战时期。美国军方认为应该在科学技术上保持其领 先的地位,这样有助于在未来的战争中取得优势。美国国防部由此发起了一项名为 ARPANET 的科研项目,即大家现在所熟知的阿帕网计划。阿帕网是当今互联网的雏形,它 也是世界上第一个运营的封包交换网络。但是很快在 1971 年阿帕网遇到了严峻的问题,参与阿帕网科研项目的科学家分布在美国不同的地区,甚至还会因为时差的影响而不能及时分享各自的研究成果,因此科学家们迫切需要一种能够借助于网络在计算 机之间传输数据的方法。

  • 尽管 Web 服务和 FTP 文件传输服务也能实现数据交换,但是这些服务的数据传输方式就像“打电话”那样,需要双方同时在线才能完成传输工作。如果对方的主机宕机或者科研人员因故离开,就有可能错过某些科研成果了。好在当时麻省理 工学院的 Ray Tomlinson 博士也参与到了阿帕网计划的科研项目中,他觉得有必要设计一种类 似于“信件”的传输服务,并为信件准备一个“信箱”,这样即便对方临时离线也能完成数据 的接收,等上线后再进行处理即可。于是,Ray Tomlinson 博士用了近一年的时间完成了电子 邮件(Email)的设计,并在 1971 年秋天使用 SNDMSG 软件向自己的另一台计算机发送出了 人类历史上第一封电子邮件—电子邮件系统在互联网中由此诞生!

  • 目前,企业使用电子邮件已趋于普遍。公司可以选择购买成熟的电子邮件服务,也可以自行搭建邮件系统。尽管购买服务更加便捷,但需要支付高额的使用费用,公司的数据也存在安全隐患。相比之下,自行部署邮件服务器前期投入成本更低,且可以确保公司信息在自己机房内传递,对数据安全性有充分保障。因此,自主搭建邮件系统更加合算,也是建议优先考虑的方案。

资源列表

操作系统配置主机名IP备注
CentOS7.3.16112C4Gns.bdqn.com192.168.207.131本节点为DNS节点,但是本次邮件服务也部署在该节点,邮件服务以下简称mail
Windows102C4G192.168.207.165

基础环境

关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

关闭内核安全机制

setenforce 0
sed -i "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config

修改主机名

hostnamectl set-hostname ns.bdqn.com

一、部署DNS服务器

mail节点操作

yum -y install bind bind-utils bind-libs bind-chroot
​
# 备份配置文件
cp /etc/named.conf{,bak}
​
# 将配置文件修改为以下内容,涉及到IP的要按自己环境修改
cat > /etc/named.conf << EOF
options {listen-on port 53 { 192.168.207.131; };listen-on-v6 port 53 { ::1; };directory       "/var/named";allow-query     { 192.168.207.0/24; };
​
};
​
zone "bdqn.com" IN {type master;file "bdqn.com.zone";allow-transfer {192.168.207.165;};
};
EOF
​
cp -p /var/named/named.localhost /var/named/bdqn.com.zone
​
cat > /var/named/bdqn.com.zone << 'EOF'
$TTL 1D
@   SOA bdqn.com. admin.bdqn.com. (0   ; serial1D  ; refresh1H  ; retry1W  ; expire3H )    ; minimum
@   NS  ns.bdqn.com.MX  10  mail.bdqn.com.
ns  A   192.168.207.131
mail    A   192.168.207.131
*   A   192.168.207.131
EOF
​
# 重新设置权限
chown named:named /etc/named.conf
chown named:named /var/named/bdqn.com.zone
​
systemctl start named
systemctl enable named

修改DNS地址

  • 所有节点操作

[root@web ~]# cat /etc/resolv.conf 
# Generated by NetworkManager
search bdqn.com
nameserver 192.168.207.131
  • Windows节点修改DNS地址

  • 测试DNS是否可用,使用ping命令ping域名即可

ping ns.bdqn.com
ping mail.bdqn.com
ping web.bdqn.com

二、部署postfix和dovecot

  • mail节点操作

安装软件包

# postfix提供发件服务功能
# dovecot提供收件服务功能
# cyrus-sasl提供认证功能
yum install postfix dovecot cyrus-sasl* -y

修改postfix配置文件

  • 以下为mail节点示例

# 修改/etc/postfix/main.cf
myhostname = mail.bdqn.com          # 设置服务器主机名
mydomain = bdqn.com        # 设置服务器域名
myorigin = $mydomain        # 定义寄出邮件的域
mydestination = $myhostname, $mydomain        #定义可接收邮件的主机名或域名列表
inet_interfaces = all        # 对外提供访问权限  提示这个配置有多个,但只有一个启用了,修改一下即可
mynetworks = 192.168.207.0/24   # 指定信任的客户端网段
relay_domains = $mydestination  # 指定可以帮忙转发的MTA主机
​
# 在文件的最后面添加上即可
broken_sasl_auth_clients = yes   # 启用sasl对客户端认证
smtpd_sasl_auth_enable = yes     # 启用sasl认证
smtpd_sasl_security_options = noanonymous   # 禁用匿名用户
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination # 定义收件人限定

重启postfix服务和开机自启

systemctl restart postfix && systemctl enable postfix

修改dovecot配置文件

# 修改/etc/dovecot/dovecot.conf
protocols = imap pop3 lmtp        # 电邮协议
ssl = no
disable_plaintext_auth = no         # 允许明文登录
login_trusted_networks = 192.168.207.0/24  # 允许登录的网段# /etc/dovecot/conf.d/10-mail.conf
mail_location = mbox:~/mail:INBOX=/var/mail/%u      # 大约25行左右取消注释

重启dovecot服务和开机自启

systemctl restart dovecot saslauthd && systemctl enable dovecot saslauthd

创建邮件用户及存放目录

  • mail节点操作

useradd  test01
echo '123' | passwd --stdin test01useradd  test02
echo '123' | passwd --stdin test02chmod 600 /var/mail/*

三、发送邮件测试

Windows安装foxmail

https://dldir1.qq.com/foxmail/windows/FoxmailSetup_7.2.23.121.exe

使用foxmail登录邮箱

  • test01和test02用户登录的方式相同

  • 发送邮件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/19900.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微服务:一篇博客带你学会Gateway(路由、过滤、跨域问题配置)

文章目录 Gateway搭建路由断言工厂路由过滤器全局过滤器过滤器执行顺序网关的core跨域配置跨域问题配置 Gateway 网关功能&#xff1a; 身份认证、权限校验服务路由、负载均衡请求限流 搭建 gateway也算一个服务 所以创建gateway子模块 引入依赖 <dependency><gro…

AIGC智能办公实战 课程,祝你事业新高度

在数字化时代&#xff0c;人工智能&#xff08;AI&#xff09;已经渗透到我们生活的方方面面&#xff0c;从智能家居到自动驾驶&#xff0c;从医疗诊断到金融分析&#xff0c;AI助手正在改变我们的工作方式和生活质量。那么&#xff0c;你是否想过自己也能从零开始&#xff0c;…

Redis学习笔记【实战篇--短信登录】

开篇导读 实战篇有什么样的内容 短信登录 这一块我们会使用redis共享session来实现 商户查询缓存 通过本章节&#xff0c;我们会理解缓存击穿&#xff0c;缓存穿透&#xff0c;缓存雪崩等问题&#xff0c;让小伙伴的对于这些概念的理解不仅仅是停留在概念上&#xff0c;更…

音视频直播(一)

协议基础篇 直播协议基础推流与拉流推流拉流 直播传输协议RTMP传输协议 && HTTP-FLV协议为什么RTMP做推流&#xff0c;反而很少做拉流&#xff1f;HTTP-FLV协议 RTSP协议HLS协议SRT协议 WebRTC协议应用于直播 直播协议基础 从网络上搜寻到的有关推流与拉流的示意图 从…

Java项目对接redis,客户端是选Redisson、Lettuce还是Jedis?

JAVA项目对接redis&#xff0c;客户端是选Redisson、Lettuce还是Jedis&#xff1f; 一、客户端简介1. Jedis介绍2. Lettuce介绍3. Redisson介绍 二、横向对比三、选型说明 在实际的项目开发中&#xff0c;对于一个需要对接Redis的项目来说&#xff0c;就面临着选择合适的Redis客…

如何从浅入深理解transformer?

前言 在人工智能的浩瀚海洋中&#xff0c;大模型目前无疑是其中一颗璀璨的明星。从简单的图像识别到复杂的自然语言处理&#xff0c;大模型在各个领域都取得了令人瞩目的成就。而在这其中&#xff0c;Transformer模型更是成为大模型技术的核心。 一、大模型的行业发展现状如…

QT5:调用qt键盘组件实现文本框输入

目录 一、环境与目标 二、Qt VirtualKeyboard 1.勾选Qt VirtualKeyboard 2.ui设计流程 3.注意事项及问题点 三、参考代码 参考博客 一、环境与目标 qt版本&#xff1a;5.12.7 windows 11 下的 Qt Designer &#xff08;已搭建&#xff09; 目标&#xff1a;创建一个窗…

二叉树的顺序实现-堆

一、什么是堆 在数据结构中&#xff0c;堆&#xff08;Heap&#xff09;是一种特殊的树形数据结构&#xff0c;用数组存储&#xff0c;通常被用来实现优先队列。 堆具有以下特点&#xff1a; 堆是一棵完全二叉树&#xff08;Complete Binary Tree&#xff09;&#xff0c;即…

下载安装nvm,使用nvm管理node.js版本

目录 一、下载安装nvm&#xff08;windows&#xff09; 二、使用nvm管理node.js版本 &#xff08;1&#xff09;nvm命令行 &#xff08;2&#xff09; 使用nvm管理node.js版本 ①查看nvm版本 ②显示活动的node.js版本 ③列出可供下载的node.js版本 ④安装node.js指定版本 ⑤列出…

HTML+CSS 响应式侧边栏菜单

效果演示 实现了一个响应式的侧边栏菜单,当用户点击菜单按钮时,菜单会从左侧滑出,同时页面内容会向右移动,展示菜单选项。菜单选项包括一个头像和用户名,以及其他的菜单项,当用户将鼠标悬停在菜单项上时,菜单项会高亮显示。这段代码使用了CSS的flex布局和过渡效果,以及…

Oracle登录时出现ERROR: ORA-01031 insufficient privileges

情况&#xff1a; 1.环境&#xff1a; - 操作系统版本&#xff1a;64位win10- Oracle版本&#xff1a;64位 oracle 11g解决方法&#xff1a; 利用DOS命令添加系统用户到ora_dba用户组 2.查看用户组 net localgroup–查看用户组&#xff1b; 3.查看ora_dba用户组下的具体用户&…

input输入框的一些复习

<template><div><div style"text-align: center;margin: 10px 0;"><span style"font-size: 15px;font-weight: bold;">input输入框的基本应用</span></div><el-descriptions :column"3" size"defau…

tinycudann安装

在安装完torch等 直接运行下面的指令会出现错误 pip install githttps://github.com/NVlabs/tiny-cuda-nn/#subdirectorybindings/torch大部分错误是下面的 大概看了一下都是因为虚拟环境里面的include文件下缺少文件&#xff0c;将之前的一些.h文件全部复制过来在执行上面的…

【vue3|第5期】Vue3响应式数据:ref 与 reactive 的深入解析

日期&#xff1a;2024年5月31日 作者&#xff1a;Commas 签名&#xff1a;(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释&#xff1a;如果您觉得有所帮助&#xff0c;帮忙点个赞&#xff0c;也可以关注我&#xff0c;我们一起成长&#xff1b;如果有不对的地方&#xf…

vue3 前端实现导出下载pdf文件

这样的数据实现导出 yourArrayBufferOrByteArray 就是后端返回数据 // 创建Blob对象const blob new Blob([yourArrayBufferOrByteArray], { type: application/pdf });// 创建一个表示该Blob的URLconst url URL.createObjectURL(blob);// 创建一个a标签用于下载const a doc…

Redis常用命令大全

目录 1、五大数据类型的基本命令 1.1 字符串 1.2 列表 1.3 哈希 1.4 集合 1.5 有序集合 2、与key相关 2.1 查看redis数据的类型 2.2 查看当前redis库中的所有key命令 3、除了五大数据类型外常见命令 3.1 键操作 3.2 服务器操作 3.3 连接操作 3.4 发布/订阅 3.5 事…

大模型时代的具身智能系列专题(六)

UCSD 王小龙组 王小龙是UCSD电子与计算机工程系的助理教授。他曾在加州大学伯克利分校与Alexei Efros和Trevor Darrell一起担任博士后研究员&#xff0c;在CMU RI获得了机器人学博士学位&#xff0c;师从Abhinav Gupta。他的研究重点是通过视频和物理机器人交互数据来学习3D和…

Vue 2.0使用Vue-count-to给数字添加增长动画

在开发后台管理系统时&#xff0c;时常会遇到数据汇总&#xff0c;为了页面展示更生动&#xff0c;用户体验更好&#xff0c;通常会对汇总的数字加一个逐步递增动画。 实现这个效果一般是用的 Vue-count-to这个插件&#xff0c;这是一款简单好用的一个数字滚动插件&#xff0c;…

如何申请微信支付0.2%-0.3%的手续费优惠? 详细步骤

随着微信支付在日常交易中的普及&#xff0c;许多商家开始关注如何降低支付手续费的问题。近期&#xff0c;微信支付推出了一项新的费率优惠政策&#xff0c;允许商家享受0.2%-0.3%的费率优惠。这一政策无疑为商家带来了实质性的成本节约。那么&#xff0c;商家如何申请这一费率…